我在PoC上工作,偶然发现了一些代码,但是我没有发现差异,或者不知道这种声明对象的方式,即d和g之间的差异
var d;
(function(d) {
function f() {
console.log(23);
}
d.fo = f;
})
(d || (d = {}));
var g = {
fo: function() {
console.log(44);
},
me: function() {
console.log(33);
}
}
d.fo();
g.fo()
答案 0 :(得分:0)
第一种方法允许您将fo
方法添加到d
中的任何现有对象,如果未初始化d
,则默认情况下会创建一个新对象。例如。你可以改变
var d;
到
var d = { a: 3};
第二种方法总是创建一个新对象g
,该对象仅具有其中定义的属性(尽管您以后可以随时添加新属性)。
除这些以外,没有什么显着差异,只是风格不同。