我在使用初始化函数时无法通过新对象传递参数。考虑下面的例子,我希望能够创建一个返回数组的对象。对象Ex1做得很好:无法通过JavaScript中的初始化函数传递参数
Ex1 = function() {
myVar = [];
myVar = Array.apply(myVar, arguments);
return myVar;
};
ex1 = new Ex1('red', 'green', 'blue');
console.log(ex1);
/* ["red", "green", "blue"] */
但是,我想给我们一个初始化程序来保持我的代码清洁。对象练习2显示了我意想不到的结果:
Ex2 = function() {
init = function() {
myVar = [];
myVar = Array.apply(myVar, arguments);
return myVar;
};
return init(arguments);
};
ex2 = new Ex2('red', 'green', 'blue');
console.log(ex2);
/* [[object Arguments] {
0: "red",
1: "green",
2: "blue"
}] */
你可以从日志结果不干净的阵列看到。
当使用初始化函数并将参数传递给它时,如何在创建新对象时返回数组?
你需要学习使用局部变量... – Bergi
一个非常有用的评论... – McShaman