bc1*_*c17 25 javascript namespaces javascript-namespaces
可能重复:
Javascript命名空间
我是JavaScript的新手,想知道是否有人能给我一个很好的描述JavaScript Namespacing的含义?
此外,在该主题上也非常感谢任何资源,例如文章等.
Mic*_*ski 39
JavaScript的设计方式使得创建有可能以负面方式进行交互的全局变量非常容易.命名空间的做法通常是创建一个封装自己的函数和变量的对象文字,以免与其他库创建的对象冲突:
var MyApplication = {
var1: someval,
var2: someval,
myFunc: function() {
// do stuff
}
};
Run Code Online (Sandbox Code Playgroud)
然后,不是myFunc()全局调用,它总是被称为:
MyApplication.myFunc();
Run Code Online (Sandbox Code Playgroud)
同样,var1始终访问为:
console.log(MyApplication.var1);
Run Code Online (Sandbox Code Playgroud)
在此示例中,我们所有应用程序的代码都已在命名空间内部MyApplication.因此,我们的变量不太可能与其他库创建的或由DOM创建的变量发生冲突.
我使用这种命名空间技术,以及Crockford概述的"使用严格"
var MyNamespace = (function () {
"use strict";
function SomeOtherFunction() {
}
function Page_Load() {
}
return { //Expose
Page_Load: Page_Load,
SomeOtherFunction: SomeOtherFunction
};
} ());
MyNamespace.Page_Load();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19116 次 |
| 最近记录: |