1

我想知道有什么区别,或者如果有的话,下面的 JS 是用于构建一个对象。它是风格的东西/标准的东西吗?如果是这样,哪个最常见?

示例 1:

var MyNamspace = {
  选项:{测试:10},
  someFunction: function() { alert("Hello"); }
}

示例 2:

var MyNamespace = {};
MyNamespace.options = { test: 10 };
MyNamespace.someFunction = function() { alert("Hello"); }

谢谢。

4

3 回答 3

4

两者之间没有显着差异(尽管第二个可能稍微慢一些)。

第一个例子更常见。

于 2012-07-16T11:28:32.580 回答
2

第一个MyNamspace是缺少“e”,否则没有功能差异。

第二种模式用于当已经有一个对象具有someFunc.prototype要扩展的属性(如 ),但您需要离开覆盖部分(MyNamespace = {};)。

于 2012-07-16T11:40:20.017 回答
1

第二个选项修改现有类型,因此在相等时,第二个选项是修改现有类型的签名,就像您可以做的那样:MyClass.prototype.someFunction = function() { }

这就是 JavaScript 可以方便灵活的地方。

于 2012-07-16T11:31:03.390 回答