我看到许多站点都试图通过创建和填充单个对象来防止示波器污染。例如:
var $ = {}
$.something = function() {
...
};
但是我想知道以下初始化:
var $ = function() {
// Something
}
$.something_two = function...
两者之间是否有区别,第二个代码在每次调用时是否初始化一个类实例?
var $ = {}
$.something = function() {
...
};
这里您正在创建一个空对象并将该对象的属性设置为函数。如果访问$.something
,它将返回函数本身。 $.something()
将执行并从函数返回一个值。
var $ = function() {
// Something
}
$.something_two = function...
相似,除了$
是返回值的函数。由于JavaScript中的所有内容都可以视为对象,因此您仍然可以将属性分配给$
。唯一不同的是,您可以通过执行$()