2

可能重复:
将 .apply() 与“new”运算符一起使用。这可能吗?

我需要创建一个类 ( new SomeClass()) 的新实例,但我需要传递的参数是一个数组。我知道我可以调用函数apply()并将参数数组作为第二个参数传递给apply,但是在创建新实例时如何执行此操作?

4

1 回答 1

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);

这里的例子。希望我了解您的需求,这可能对您有所帮助。

于 2012-04-12T19:06:58.883 回答