可能重复:
Use of .apply() with 'new' operator. Is this possible?
我需要创建一个类(new SomeClass()
)的新内容,但我需要传递的参数是一个数组。我知道我可以使用apply()
调用函数并将参数数组作为第二个参数传递给apply
,但是如何在创建新实例时执行此操作?
答案 0 :(得分:0)
function myClass()
{
if(this instanceof arguments.callee)
{
init.apply(this, arguments);
}
function init()
{
this.args=arguments;
console.log(arguments);
}
}
var myArray=[1,2,3];
var obj=new myClass(myArray);
console.log(obj.args);
Example here.希望我明白你需要什么,这个可以帮助你。