Extjs中命名空间Ext.ns()的使用
使用了命名空间类似于Java的包一样,可以将一些东西隐藏起来。防止全部变为全局变量。
如果没有命名空间,那么要么你在函数对象里面写得很多很多,那样全局变量就会少了很多全局变量,但是当你做的项目比较大的时候,那代码就很不清晰乱成一团了。使用命名空间可以减少全局变量的声明以至于不影响其他对象里的变量。
不过当你命名变量的时候你最好使用 var关键字,如果你没有用var关键字声明变量的话,那么你的变量将默认是全局的是window下的变量。
不过利用闭包也可以起到效果,不过没试过,是这样的函数声明使用(function(){})();
下面讲一下命名空间的使用,Ext.ns()是Ext.namespace()的缩写,用来声明命名空间。
其实熟悉一下javascript的语法就知道根本就没有这样的东西。其实Ext只是利用了对象添加的属性类似的用法来模拟命名空间(或包)。因为对象或者方法是闭包的,其内定义的变量对外界是封闭的。
Ext.ns()还有一个特点就是,Ext.ns('MySpace.data.box'); 跟Ext.ns('MySpace', 'MySpace.data','MySpace.data.box')是一样的。还有如果你定义了一个命名空间的话,那么如果你放在第一个js里,那么命名空间里的任何东西都会在你之前有效,不会,只声明而没有定义。因为在此之前你的那些属性已经在前面(命名空间里提到,用得话那么就在命名空间之前赋值了)。
使用命名空间,可以把views,data,class分成不同的js文件,放在不同的文件夹,那会是代码更加清晰整洁,也有利于维护更改.
使用了命名空间类似于Java的包一样,可以将一些东西隐藏起来。防止全部变为全局变量。
如果没有命名空间,那么要么你在函数对象里面写得很多很多,那样全局变量就会少了很多全局变量,但是当你做的项目比较大的时候,那代码就很不清晰乱成一团了。使用命名空间可以减少全局变量的声明以至于不影响其他对象里的变量。
不过当你命名变量的时候你最好使用 var关键字,如果你没有用var关键字声明变量的话,那么你的变量将默认是全局的是window下的变量。
不过利用闭包也可以起到效果,不过没试过,是这样的函数声明使用(function(){})();
下面讲一下命名空间的使用,Ext.ns()是Ext.namespace()的缩写,用来声明命名空间。
其实熟悉一下javascript的语法就知道根本就没有这样的东西。其实Ext只是利用了对象添加的属性类似的用法来模拟命名空间(或包)。因为对象或者方法是闭包的,其内定义的变量对外界是封闭的。
Ext.ns('MySpace'); //相当于你定义了一个空的函数对象(或者认为是一个类),可以写成MySpace = Ext.emtyFn();或者MySpace = {} MySpace.app = Ext.Panel({}); //这个MySpace.app是往MySpace对象里面添加属性,属性名为app(它是一个Panel的函数对象)。 如果 Ext.ns('MySpace', 'MySpace.data' , 'MySpace.views'); //那么就相当于你定义了三个对象,MySpace ,还有MySpace的data,views属性都是一个对象,那么你就可以往MySpace.data.moumou来添加这个对象的属性了。
Ext.ns()还有一个特点就是,Ext.ns('MySpace.data.box'); 跟Ext.ns('MySpace', 'MySpace.data','MySpace.data.box')是一样的。还有如果你定义了一个命名空间的话,那么如果你放在第一个js里,那么命名空间里的任何东西都会在你之前有效,不会,只声明而没有定义。因为在此之前你的那些属性已经在前面(命名空间里提到,用得话那么就在命名空间之前赋值了)。
使用命名空间,可以把views,data,class分成不同的js文件,放在不同的文件夹,那会是代码更加清晰整洁,也有利于维护更改.
发表评论
-
jquery方法扩展使用
2014-12-02 19:28 757//非负浮点数 保留一位小数---添加到jquery.vali ... -
jquery操作select值,jqery设置select值
2014-10-15 21:26 1118每一次操作select的时候,总是要出来翻一下资料,不如自己总 ... -
jquery ajax相关操作
2014-09-28 13:50 795--ajax 请求当有记录时给予提交,rows为0时提示提示框 ... -
jquery ajax和data的使用
2014-09-04 14:58 1070function print(selId){ $. ... -
Js中parseFloat()精度问题
2014-07-08 16:11 2300<!DOCTYPE HTML PUBLIC " ... -
jquery attr()属性
2014-07-04 19:07 3025在JS中设置节点的属性与属性值用到setAttribute() ... -
CSS中line-height与height的区别
2014-07-03 19:32 1460CSS中line-height与height的区别? lin ... -
freemarker为空判断详细
2014-05-27 22:08 52864freemarker里面判断为空只有??,后来查找其他文档才发 ... -
FreeMarker中if标签内的判断条件
2014-05-13 18:41 17567FreeMarker中if标签内的判断条件 FreeMark ... -
FreeMarker 对null值的处理
2014-05-05 17:40 2625以下引用官方描述: The FreeMarker temp ... -
freemarker ?datetime ? time ?date
2014-04-30 16:28 2694?date,?time和?datetime,因为你指定的格式告 ... -
div设置显示与隐藏、边框等
2014-04-30 16:24 24831.div 设置隐藏后页面占 ... -
div设置显示与隐藏、边框等
2014-04-30 16:22 17971.div 设置隐藏后页面占 ... -
用jquery计算前两个文本框的结果等于第三个文本框
2014-04-23 21:19 1385//本记录是结束里程数-起始里程数=运行里程数 //其它 ... -
jQuery.validate使用手册-详解
2014-04-09 14:22 1175jQuery.validate是一款非常不错的表单验证工具,简 ... -
jQuery对表单元素的取值和赋值操作
2014-04-08 22:13 1408jQuery对表单元素的取值 ... -
JQuery获取input type="text"中的值的各种方式
2014-04-08 22:09 2063<!DOCTYPE html PUBLIC " ... -
freemarker list (长度,遍历,下标,嵌套,排序)
2014-03-13 09:56 136021. freemarker获取list的size : ... -
Extjs Config和Mixins
2014-03-05 13:23 1040Extjs 4中,为类型系统引入了Config概念,Con ... -
js回调函数
2014-03-04 11:40 1052回调函数(Callback Functions ...
相关推荐
extjs多选下拉框,Ext.ux.form.LovCombo,extjs 以修复多选下拉框火狐下取不到值的问题,火狐下div不显示背景色的问题
该ext.jsb2文件是ExtJS3.4.0中的,因ExtJS4.0.0中没有这个文件,但可以与4.0.0版本共用。
NULL 博文链接:https://maoyi606.iteye.com/blog/1782825
主要介绍了ExtJs的Ext.Ajax.request实现waitMsg等待提示效果,需要的朋友可以参考下
EXTjs的上传组件
关于这个原因有很多种,我只说下我遇到的 我这样 写Store来复用的 代码如下: DocStore = Ext.extend(Ext.data.Store,{ initComponent:function(){ this.proxy = new Ext.data.HttpProxy({url:this.url}); this....
Extjs4.1多个扩展 1、Ext.ux.aceeditor.Panel 2、Ext.ux.grid.feature.Tileview 3、Ext.ux.upload.Button 4、Ext.ux.toggleslide.ToggleSlide ...注明:在Extjs4.1上是可以使用的,Extjs4.2部分会有问题。
extjs 可编辑的表格树,每个单元格自定义编辑组件,可以自适应列宽,只有源码与例子,运行实例要修改路径,不然图片不能显示,注意etree.jsp的js引入路径 支持Ext2.x以上版本 如运行不了EmailTo : codeme9@gmail....
目录 1. ExtJs 结构树 2 2. 对ExtJs的态度 3 3. Ext.form概述 4 4. Ext.TabPanel篇 5 5. Function扩展篇 7 6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一 12 ...28. extJs 2.0学习笔记(ext.js篇) 77
15.5 在IE中使用Firebug 15.5.1 前端调试利器DebugBar 15.5.2 IE下的优秀JavaScript调试工具Companion.JS 15.5.3 DebugBar和Companion.JS的基本操作 15.6 调试技巧 15.6.1 在Firebug中直接调试脚本 15.6.2 ...
NULL 博文链接:https://atian25.iteye.com/blog/1019910
ExtJS tooltip功能组件实例
15.5 在IE中使用Firebug 15.5.1 前端调试利器DebugBar 15.5.2 IE下的优秀JavaScript调试工具Companion.JS 15.5.3 DebugBar和Companion.JS的基本操作 15.6 调试技巧 15.6.1 在Firebug中直接调试脚本 15.6.2 ...
Ext Extjs 禁止文本和日期编辑 ExtJS中动态设置TextField的readOnly属性
ExtJs学习笔记,共30讲 1. ExtJs 结构树 2 2. 对ExtJs的态度 3 3. Ext.form概述 4 4. Ext.TabPanel篇 5 5. Function扩展篇 7 6. Ext.data.Store篇 10 7. Ext.data.JsonReader篇一...28. extJs 2.0学习笔记(ext.js篇) 77
主要用例子说明extjs4的form表单的运用,其中有表单属性说明,表单控件运用说明如: title:'表单', //表单标题 bodyStyle:'padding:5 5 5 5', //表单边距 height:120, //表单高度 width:200, //表单宽度 ...
ext.jsb spket ExtJS dreamweaver
Ext.ux.GoogleChart extjs插件Ext.ux.GoogleChart extjs插件
没想到Extjs没有自带的iconCls所使用的图标样式css,就是用那个写那个的,纠结了半天,网上也找了好久,还是自己写了个批量处理程序,集合了1713个png小图标,都是Extjs原生态的,直接可以使用,这样后面的开发就...