最近、私は、私はそれが余分なのparam &が作る供給でプログラムのparamさんと一緒に関数呼び出しを持っていたボタンのonclickのをATTRIBにアクセスするために必要な関数型キャストはJavaScript
質問に求めていました関数呼び出し(onclick=doSomething(2,4)
)。
しかし、私はapply/call
の使用も余分に供給する便利来ることができることを把握param's.Forこのように私はそれが私が試した
arr[1] = 'doSomething';
ような文字列にしていた属性&から関数名を抽出関数コンストラクタを使用してこれを関数として扱いますが、機能しません (Function(arr[1])
など)どうしてですか?
解決策Javascript: interpret string as object reference?が問題なく動作します。しかし、なぜそれが関数コンストラクタによって達成できないのでしょうか?この場合、機能で
いくつかのコード情報
var funDef ='doSomething'; // this is the name of real function defined in the script
var funcName = new Function(funDef); //expected it to return reference of function doSomething,shows function anonymous() in console
var funcArgs = [5,7,10];
funcName.apply('',funcArgs); //this is the function call.
は私が
var funcName = new Function(funDef); with var funcName = eval(funDef);
感謝を交換は、それまでは呼び出されません。
'新しいFunction'コンストラクタは'のeval() 'のように動作します。だから、 '新機能(ARR [1] + "()");'働くかもしれません。 –
フィドルを共有してください.... – Rayon
@NiettheDarkAbsolどのように追加のパラメータを渡すのですか? –