如果以下两种方法最好/最实用?
var arr = (new function (){
this.Foo = "Foo";
this.Bar = "Bar";
});
OR
var arr = new Array (
Foo = "Foo",
Bar = "Bar"
)
据我所知,上述两个都可以添加属性, 请注意,目前没有上述代码的应用,所以没有关于问题的背景,但哪个更受欢迎?感谢
答案 0 :(得分:1)
第一个代码片段定义了一个对象的构造函数,该对象具有名为Foo
和Bar
的属性,然后立即用new
实例化它。
第二个代码片段创建一个包含元素"Foo"
和"Bar"
的数组(并在此过程中创建两个新的全局变量Foo
和Bar
,您可能不会这样做我想)。
您是否希望具有两个属性的对象或具有两个元素的数组取决于您。
答案 1 :(得分:0)
两者都非常糟糕。
首先等于var arr = {Foo: "Foo", Bar: "Bar"}
在第二个你创建数组,但当你在Foo = "Foo"
内部实际声明全局变量Foo
时,因为Foo = "Foo"
是一个表达式,它返回数组元素的"Foo"
。