`
小杨学JAVA
  • 浏览: 900400 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Ext.ns()的使用

 
阅读更多

Extjs中命名空间Ext.ns()的使用

使用了命名空间类似于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文件,放在不同的文件夹,那会是代码更加清晰整洁,也有利于维护更改.

分享到:
评论

相关推荐

    Ext.js核心函数详解.pdf

    4. **Ext.addBehaviors(Object obj)**:这个函数允许我们使用CSS选择器的方式为页面元素添加事件监听器。例如,可以为ID为"foo"的元素下的所有"a"标签添加点击事件,或者为多个选择器添加相同事件。 5. **Ext.id(...

    ns-2.29-fso-ext.tar.gz_ antenna ns2_NS2 fso_antenna fso_fso_ns-2

    在标题“ns-2.29-fso-ext.tar.gz_ antenna ns2_NS2 fso_antenna fso_fso_ns-2”中,提到的是NS-2的2.29版本,并且涉及到自由空间光通信(Free Space Optical, FSO)的天线模型。这表明这是一个扩展包,用于增强NS-2...

    ext4.0改变 比较完整的介绍

    4. **创建新对象的改进**:`Ext.define`函数替代了传统的`Ext.ns`和`Ext.extend`,不仅用于创建组件类,还支持自动加载所需JS类(通过`uses`属性)。这减少了手动管理依赖的复杂性。 5. **实例化对象的方式**:推荐...

    配置javascript profiles时需要的ext.jsb2文件

    方便eclipse上开发extjs可以自动提示的eclipse插件spket时,安装好此插件后,需要配置javascript profiles。就需要这个文件ext.jsb2。

    Ext实现java的面向对象实例

    在Ext中,我们通常通过`Ext.ns()`创建命名空间,例如`Ext.ns('MyApp')`会创建一个名为`MyApp`的命名空间,可以用来存放类和对象。 2. **类实例属性**:类的实例属性是在对象创建时分配的,它们属于特定的对象实例,...

    EXT扩展Htmleditor,在工具栏中添加插入图片按钮,可选择图片插入到编辑器中(也可添加其他功能按钮)

    Ext.ns('MyPlugins'); MyPlugins.ImageInsert = function(config) { Ext.apply(this, config); this.addEvents('imageinsert'); }; Ext.extend(MyPlugins.ImageInsert, Ext.util.Observable, { // 其他插件相关...

    4.0Ext 类系统

    在这里,`My.cool` 必须是已存在的命名空间,可以通过 `Ext.ns('My.cool')` 创建。同时,`extend` 参数指定了父类。 ### 类系统的优点 新类系统带来的好处包括: 1. **可预测性**:通过类和继承结构,代码的行为...

    Extjs fieldset两行两列布局

    hiddenName: 'ns', fieldLabel: '', triggerAction: 'all', store: new Ext.data.SimpleStore({ fields: ['name', 'code'], data: [['', '1'], ['', '0']] }), displayField: 'name', valueField: 'code', ...

    4.0Ext 概述

    Ext.ns('MyApp'); // 创建命名空间 MyApp.CustomerPanel = Ext.extend(Ext.Panel, { // ... }); // Ext 4 Ext.define('MyApp.CustomerPanel', { extend: 'Ext.panel.Panel', // ... }); ``` **动态类加载** ...

    ExtJS 4.0 的改变

    - `Ext.ns` 已被 `Ext.define` 替代,用于创建组件类。`Ext.define` 还支持自动加载 JS 类(使用 `uses` 属性,需要设置 `Ext.Loader` 为开启状态)。例如,创建一个组件现在可以这样写: ```javascript Ext....

    extjs单元格合并

    Ext.ns('Ext.ux.grid'); / * 实现 grid 的 rowspan 效果 * @author: tipx.iteye.com */ Ext.ux.grid.RowspanView = Ext.extend(Ext.grid.GridView, { constructor: function(conf) { Ext.ux.grid.RowspanView....

    ExtJs Tree

    - **命名空间创建**:`Ext.ns('Ext.mypanels');`用于创建一个名为`Ext.mypanels`的命名空间。 - **准备函数**:`Ext.onReady(function(){...});`确保页面文档加载完毕后执行。 #### 主要组件 - **主Tab面板**:`...

    Ubuntu12.04下安装NS-2.34及实现802.11pWAVE协议栈

    在本文中,我们将详细探讨如何在Ubuntu 12.04操作系统上安装NS-2.34网络模拟器,并实现802.11p WAVE协议栈...你可以使用TCL脚本来创建场景,模拟不同交通情况下的通信效果,并通过NS-2的统计分析工具获取详细性能指标。

    基于EXT SSI的简单树实现

    一个基于EXT实现的树,先上图。 动态加载加右键菜单。 希望拿到可以跑起来看看效果的,需要按以下步骤做。...3 在代码中使用方式 static Log log = LogFactory.getLog("Action类"); log.debug("result is " + result);

    龙门物流管理系统--Ext+SSH框架

    龙门物流管理系统--基于Ext+SSH框架。 里面有详细的代码程序实现,采用SQL SERVER2000,且还有部分运行截图。适合作为java毕业设计项目源码 内容包含:项目源码+Ns物流系统数据库.sql+Ns物流数据字典.doc

    搭建EXTJS和STRUTS2框架(ext和struts2简单实例)

    ### 搭建EXTJS和STRUTS2框架(ext和struts2简单实例) #### 一、概述 本文档将详细介绍如何在Java Web项目中搭建EXTJS和STRUTS2框架,并通过一个简单的实例来展示如何使这两个技术协同工作。EXTJS是一个用于构建交互...

    ExtJS4中使用mixins实现多继承示例

    首先,我们需要了解`Ext.define`是ExtJS中用于定义类的函数。它允许我们创建新的类并指定它们的属性、方法以及它们与其他类的关系。在我们的例子中,我们定义了两个简单的类:`say` 和 `eat`,每个类都有一个特定的...

Global site tag (gtag.js) - Google Analytics