JavaScript名称空间模式(类似于对象的属性)
JavaScript namespace pattern (similiar to properties of objects)
这种模式的目的是什么?
var ns=function(){
//do some stuff
}
ns.test=function(){
//do another stuff
}
我见过类似的代码,但我不明白这种模式的优点。
似乎也类似于对象的属性。
这种模式有时也与闭包一起使用,jquery似乎使用它,但不确定。
谢谢!
首先,它确保变量名和函数名不会与可能包含的其他脚本(如广告、分析、没有命名空间的库等)中的名称冲突。
出现这种模式是因为在JavaScript中,函数是具有自己的属性和方法的一等对象。这允许函数自己执行,但也可以模仿其他语言中的东西。这允许您做一些非常强大的事情,如模仿静态类,记忆,命名空间等。
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 如何将数组项添加到对象属性中
- 设置嵌套对象属性的更好方法
- JavaScript管理具有重复属性名称的对象属性
- 如何使用element.myobj.prop等具有对象属性的元素
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 如何在AngularJS工厂中正确声明对象属性
- 如何使用object.assign()从其他对象引用基本对象属性
- 使用XPath样式访问Javascript JSON对象属性
- 将javascript对象(属性+值)合并到一个对象中
- 数组:使对象属性成为数组键
- 无法从JavaScript中的函数调用对象属性
- Google Closure Advanced |无法识别对象属性|动态属性
- Javascript从匿名函数访问外部对象属性
- 从函数更改对象属性
- 如何从字符串变量访问对象属性
- 从嵌套对象属性中获取排除某个值的最高值
- 在Aurelia computeds中,当设置依赖关系时,如何声明对对象属性的依赖关系
- 传递数量不确定的可能嵌套的对象属性