我还没有在Internet上找到一种在JavaScript中创建命名空间的常用方法.
创建命名空间的最佳方法是什么(请列出特定方法可能存在的任何缺陷).
(function() {
var usefulVariable;
var foo = {
bar:function(){ alert('hi') }
};
// leak into global namespace
window.foo = foo;
})();
Run Code Online (Sandbox Code Playgroud)
仅foo暴露于全局命名空间,并且它"存在"您的私有自执行匿名函数命名空间内.
在JavaScript中,名称空间只能通过对象文字来实现,这可以像这样简单:
var MyNS = {
f1: function() {...},
f2: function() {...}
};
Run Code Online (Sandbox Code Playgroud)
正如其他人试图展示的那样,如果您想在命名空间中提供私有范围(建议),则以下方法最合适:
var MyNS = (function() {
var private1 = "...",
private2 = "...";
return {
f1: function() {...},
f2: function() {...}
}
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7120 次 |
| 最近记录: |