2

重複の可能性:
「new」演算子での .apply() の使用。これは可能ですか?

クラス ( new SomeClass()) の新しいインスタンスを作成する必要がありますが、渡す必要がある引数は配列です。で関数を呼び出しapply()、引数の配列を の 2 番目の引数として渡すことができることはわかっ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 に答える