我想将一个参数传递给一个名为 using 的函数setTimeout
。我找到了这三个选项:
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:显然,我不希望在传递参数后更改参数(当然在简单整数的情况下)。
方法二:如果只有 Internet Explorer 支持就完美了。
方法3:这似乎是唯一的选择。但它似乎不如其他漂亮,传递要评估的东西而不是函数。
有没有更好的办法?