Possible Duplicate:
Use of .apply() with 'new' operator. Is this possible?新しいクラスのインスタンスを作成し、アレイ
として引数を適用Iクラス(new SomeClass()
)の新しいinsanceを作成する必要があるが、私が通過する必要の引数は配列です。私はapply()
で関数を呼び出し、apply
の2番目の引数として引数の配列を渡すことができますが、どうすれば新しいインスタンスを作成できますか?
Possible Duplicate:
Use of .apply() with 'new' operator. Is this possible?新しいクラスのインスタンスを作成し、アレイ
として引数を適用Iクラス(new SomeClass()
)の新しいinsanceを作成する必要があるが、私が通過する必要の引数は配列です。私はapply()
で関数を呼び出し、apply
の2番目の引数として引数の配列を渡すことができますが、どうすれば新しいインスタンスを作成できますか?
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.私はあなたが必要としていることを理解しており、これはあなたを助けるかもしれません。
私はコンストラクタを制御できません。 – LordZardeck
あなたはクラス/関数を定義していませんか? –
私はしませんでした。それは外部コードです – LordZardeck
@ JamesMontagne私はこの例題がうまくいくわけではありません。このエラーが発生します:TypeError:Function.prototype.apply:引数リストに間違ったタイプがあります – LordZardeck
@LordZardeck:あなたが試しているコードを表示できますか?配列を渡していますか? –