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 791//非负浮点数 保留一位小数---添加到jquery.vali ... -
jquery操作select值,jqery设置select值
2014-10-15 21:26 1155每一次操作select的时候,总是要出来翻一下资料,不如自己总 ... -
jquery ajax相关操作
2014-09-28 13:50 843--ajax 请求当有记录时给予提交,rows为0时提示提示框 ... -
jquery ajax和data的使用
2014-09-04 14:58 1131function print(selId){ $. ... -
Js中parseFloat()精度问题
2014-07-08 16:11 2367<!DOCTYPE HTML PUBLIC " ... -
jquery attr()属性
2014-07-04 19:07 3071在JS中设置节点的属性与属性值用到setAttribute() ... -
CSS中line-height与height的区别
2014-07-03 19:32 1516CSS中line-height与height的区别? lin ... -
freemarker为空判断详细
2014-05-27 22:08 53037freemarker里面判断为空只有??,后来查找其他文档才发 ... -
FreeMarker中if标签内的判断条件
2014-05-13 18:41 17689FreeMarker中if标签内的判断条件 FreeMark ... -
FreeMarker 对null值的处理
2014-05-05 17:40 2677以下引用官方描述: The FreeMarker temp ... -
freemarker ?datetime ? time ?date
2014-04-30 16:28 2738?date,?time和?datetime,因为你指定的格式告 ... -
div设置显示与隐藏、边框等
2014-04-30 16:24 25201.div 设置隐藏后页面占 ... -
div设置显示与隐藏、边框等
2014-04-30 16:22 18601.div 设置隐藏后页面占 ... -
用jquery计算前两个文本框的结果等于第三个文本框
2014-04-23 21:19 1425//本记录是结束里程数-起始里程数=运行里程数 //其它 ... -
jQuery.validate使用手册-详解
2014-04-09 14:22 1220jQuery.validate是一款非常不错的表单验证工具,简 ... -
jQuery对表单元素的取值和赋值操作
2014-04-08 22:13 1447jQuery对表单元素的取值 ... -
JQuery获取input type="text"中的值的各种方式
2014-04-08 22:09 2113<!DOCTYPE html PUBLIC " ... -
freemarker list (长度,遍历,下标,嵌套,排序)
2014-03-13 09:56 137301. freemarker获取list的size : ... -
Extjs Config和Mixins
2014-03-05 13:23 1087Extjs 4中,为类型系统引入了Config概念,Con ... -
js回调函数
2014-03-04 11:40 1099回调函数(Callback Functions ...
相关推荐
在EXTJS这个强大的JavaScript框架中,`Ext.Panel`和`TreePanel`是两个非常重要的组件,它们被广泛用于构建复杂的用户界面。这篇文章将探讨如何在这些组件中动态加载本地页面数据,以提升用户体验并实现灵活的数据...
在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...
在ExtJS 4中,构建过程被重新设计,引入了新的构建系统,如使用`app.json`代替`ext.jsb2`。`app.json`包含了关于应用结构和依赖的信息,使得构建过程更加灵活和可配置。然而,由于`ext.jsb2`在4.0.0中不存在,如果你...
通过上述示例,我们了解了如何在ExtJS中使用`ToolTip`功能为网格中的每一列提供额外的信息提示。这种方式不仅提高了应用的交互性,也增强了用户体验。此外,我们还学习了如何定义组件、配置布局、设置数据存储、添加...
这一实现过程涉及了ExtJs框架中的一些核心组件使用方法,需要开发者具备一定的ExtJs框架使用基础和JavaScript编程经验。通过上述方法,可以在不直接修改Ext.Ajax.request方法的前提下,实现一个用户友好的等待提示,...
这个"Ext.ux.UploadDialog.zip"压缩包包含了EXTjs的UploadDialog组件,方便开发者在自己的项目中直接使用。 UploadDialog组件的核心功能是提供一个用户友好的界面,让用户能够选择并上传文件到服务器。这个组件通常...
在EXTJS库中,`Ext.Ajax.request`是用于发送Ajax请求的核心方法,它支持异步和同步操作。本文将详细解析如何利用`Ext.Ajax.request`实现同步请求,并探讨其背后的原理和注意事项。 首先,我们需要理解Ajax的本质,...
在ExtJS 4.x框架中,ComboboxTree是一种特殊的组件,它将传统的下拉框与树形结构结合在一起,提供了一种更为灵活的用户输入方式。这种组件在数据选择上非常实用,尤其当数据层级关系复杂时,可以方便地进行多选或...
### ExtJs选中 `var ...以上就是关于 `var editor = new Ext.ux.grid.RowEditor` 的详细解析,希望对使用ExtJs框架的开发者有所帮助。通过合理地配置和使用 `RowEditor`,可以极大地提高Web应用的交互性和用户体验。
在EXTJS3中,`Ext.PagingToolbar()` 是一个非常重要的组件,用于在大量数据的网格或视图中实现分页功能。这个组件允许用户轻松地浏览和操作大量的记录,而不需要一次性加载所有数据,从而提高了应用程序的性能和用户...
主要用例子说明extjs4的form表单的运用,其中有表单属性说明,表单控件运用说明如: title:'表单', //表单标题 bodyStyle:'padding:5 5 5 5', //表单边距 height:120, //表单高度 width:200, //表单宽度 ...
在4.0版本中,ExtJS对RowEditing插件进行了重大改善,以提供更好的数据编辑体验。RowEditing插件允许用户在表格的每一行内进行编辑,而无需打开单独的编辑窗口或弹出框。 这篇文章的标题指出这是一个关于“Ext.grid...
在Ext JS这个强大的JavaScript框架中,开发者经常使用各种组件来构建富客户端应用,其中包括TextField(文本字段)和DatePicker(日期选择器)。有时,我们可能需要根据应用需求在运行时禁用这些组件的编辑功能,...
extjs 可编辑的表格树,每个单元格自定义编辑组件,可以自适应列宽,只有源码与例子,运行实例要修改路径,不然图片不能显示,注意etree.jsp的js引入路径 支持Ext2.x以上版本 如运行不了EmailTo : codeme9@gmail....
在EXTJS这个强大的JavaScript框架中,`Ext.get`和`Ext.fly`是两个非常重要的方法,它们都用于操作DOM元素,但它们之间存在着微妙的差异。了解这些差异对于优化代码性能和理解EXTJS的工作机制至关重要。 首先,`Ext....
在ExtJs框架中,日期组件(DateField)是用于用户输入日期的常见控件。然而,标准的ExtJs DateField并未内置清空日期的功能,这可能会在某些应用场景中造成不便。为了解决这个问题,我们需要自定义一个扩展,为日期...
标题"Ext.Ajax.request跨域"指出我们将探讨如何使用ExtJS库中的Ajax模块进行跨域请求。Ext.Ajax.request是ExtJS提供的一种发起Ajax请求的方式,它允许开发者向服务器发送异步HTTP请求。然而,由于浏览器的同源策略...
关于这个原因有很多种,我只说下我遇到的 我这样 写Store来复用的 代码如下: DocStore = Ext.extend(Ext.data.Store,{ initComponent:function(){ this.proxy = new Ext.data.HttpProxy({url:this.url}); this....
在使用过程中,要特别注意ExtJS的MVC(Model-View-Controller)架构,这是其设计的一大亮点。通过模型管理数据,视图展示数据,控制器协调两者,可以使代码结构清晰,易于维护。此外,利用Data Binding功能,可以...
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部分会有问题。