1

我想在创建时设置结构数组的元素。可能吗?

现在,首先我要定义结构,然后设置数组

function struct(a, b) {
    this.a=a;
    this.b=b;
}

var foo = [
    new struct(1,2),
    new struct(3,4),
]

但我想要一个匿名函数,比如:

var foo = function(a, b) [
    (1,2),
    (3,4),
]

注意:这是不正确的,但你看到了这个想法

4

1 回答 1

2

除了数组文字表示法之外,您要使用的是对象文字表示法。

var foo = [
  {a:1,b:2},
  {a:3,b:4}
];
console.log(foo[0].b); //-> 2

如果你真的想调用一个函数,你必须给它一个名字(虽然它可以很短):

function s(a,b){
  return {a:a,b:b};
}
var foo = [
  s(1,2),
  s(3,4)
];

您不需要使用new关键字来创建新对象;您可以设置一个新实例——甚至设置基于原型的继承——所有这些都在一个普通的函数调用中。

于 2012-04-24T23:10:29.250 回答