我在这里创建什么样的对象?

马特

我看到许多站点试图通过创建和填充单个对象来防止范围污染。例如:

var $ = {}
$.something = function() {
   ...
};

但是我想知道以下初始化:

var $ = function() {
    // Something
}
$.something_two = function...

两者之间有什么区别,第二个代码是否在每次调用时初始化一个类实例?

乔什·沙基(Josh Sharkey)

在JavaScript中,除基元以外的所有值都是对象。

运行我自己的代码版本以帮助演示:

在此处输入图片说明

还请注意创建的对象的类型。在您的第一个示例中$是一个object包含函数的。第二个$是具有属性的函数(对象),该属性也是函数:

在此处输入图片说明

任一种选择都是防止范围污染的理想选择,第一个示例与对象创建标准最一致。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章