2012-04-12 11 views
2

Possible Duplicate:
Use of .apply() with 'new' operator. Is this possible?新しいクラスのインスタンスを作成し、アレイ

として引数を適用Iクラス(new SomeClass())の新しいinsanceを作成する必要があるが、私が通過する必要の引数は配列です。私はapply()で関数を呼び出し、applyの2番目の引数として引数の配列を渡すことができますが、どうすれば新しいインスタンスを作成できますか?

+0

@ JamesMontagne私はこの例題がうまくいくわけではありません。このエラーが発生します:TypeError:Function.prototype.apply:引数リストに間違ったタイプがあります – LordZardeck

+0

@LordZardeck:あなたが試しているコードを表示できますか?配列を渡していますか? –

答えて

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.私はあなたが必要としていることを理解しており、これはあなたを助けるかもしれません。

+0

私はコンストラクタを制御できません。 – LordZardeck

+0

あなたはクラス/関数を定義していませんか? –

+0

私はしませんでした。それは外部コードです – LordZardeck

関連する問題