using という関数に引数を渡したいですsetTimeout
。次の 3 つのオプションを見つけました。
A = 1;
// Method 1: closure things
setTimeout(function() { whatsA(A); }, 100);
// Method 2: third argument (same result with [A])
setTimeout(whatsA, 100, A);
// Method 3: eval
setTimeout('whatsA(' + A + ')', 100);
A = 2;
function whatsA(X) { console.log(X); }
これはInternet Explorer 9 の2
、undefined
、およびを示しています。1
方法 1 : 明らかに、引数を渡した後に引数を変更したくありません (確かに単純な整数の場合)。
方法 2 : Internet Explorer だけがサポートされていれば完璧です。
方法 3 : これが唯一の選択肢のようです。しかし、関数ではなく何かを評価するために渡すため、他のものよりもきれいではないようです。
より良い方法はありますか?