unity string 类的命名空间 JavaScript扩展UI控件

unity string 类的命名空间 JavaScript扩展UI控件

Javascript 本身不支持命名空间,因此需要解决方法。

在我们创建 JavaScript 库时,命名空间发挥着重要作用。我们可以将组成 JavaScript 库的分段 JavaScript 文件 (*.js) 封装在命名空间中,而无需定义全局函数或类。比如本章多次出现的Person,我们可以将它作为库的一部分封装到合适的命名空间中:

代码 5-13:

复制代码代码如下:

var com = {};

com.anyjava = {};

com.anyjava.Person = 函数(名称){

//私人会员

var _name = 名称;

//访问器

this.getName = function() {

返回_name;

};

this.setName = function(name) {

_name = 名称;

};

};

//原型

com.anyjava.Person.prototype = {

吃:函数(){

alert(this.getName() + "正在吃东西。");

},

睡眠:函数(){

alert(this.getName() + "正在睡觉。");

},

walk:function() {

alert(this.getName() + "正在走路。");

}

};

var dirk = new com.anyjava.Person("Dirk");

dirk.eat();

从代码5-13中,我们得到了一个更符合Java开发者习惯的命名空间,并且在实例化Person对象的时候,还指定了我们的命令空间路径。

这里有个小技巧,如果你使用的是别人开发的 JavaScript 库unity string 类的命名空间,命名空间规划比较完整,你可能会厌倦每次都写冗长的命名空间。比如你使用我开发的 JavaScript 库,在 com.anyjava.control.ui 命名空间下,有很多你会用到的扩展 UI 控件,我猜你不想写很多次 var xxx = new com .anyjava.control.ui.XXX()。通过指定命名空间别名,我们可以编写更少重复的代码,如代码5-14所示代码5-13中实例化Person的另一种方法:

代码 5-14:

复制代码代码如下:

var ns = com.anyjava;

var dirk = new ns.Person("Dirk");

dirk.eat();

我要说的最后一件事是使用命名空间时的一个警告。在编写 JavaScript 库时,大多数情况下命名空间声明语句可能会同时出现在一个 JavaScript 文件中的多个位置UI界面,或者出现在多个 JavaScript 文件中,但 JavaScript 语言的特点是最后声明的变量会覆盖前一个。同名变量,这需要我们注意重复声明的问题,也就是说,在声明命名空间对象时,建议先判断命名空间对象是否已经存在unity string 类的命名空间技能特效,如代码5-15所示:

代码 5-15:

复制代码代码如下:

if (typeof com.anyjava == "undefined") var com.anyjava = {};

这样我们可以保证“com.anyjava”对象只声明一次。

unity string转vector_unity文件夹命名_unity string 类的命名空间