我想在创建时设置结构数组的元素。可能吗?
现在,首先我要定义结构,然后设置数组
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),
]
注意:这是不正确的,但你看到了这个想法
我想在创建时设置结构数组的元素。可能吗?
现在,首先我要定义结构,然后设置数组
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),
]
注意:这是不正确的,但你看到了这个想法
除了数组文字表示法之外,您要使用的是对象文字表示法。
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
关键字来创建新对象;您可以设置一个新实例——甚至设置基于原型的继承——所有这些都在一个普通的函数调用中。