function fun(x){alert(x);}
var i=1;
var t=setTimeout(function(){ fun(i) },10000);
i=2;
所以当fun(x)真正运行时,会发出什么警告。
如果结果为2,则如何使x为1。
由于某种原因,我无法使用全局变量。
THX
更新 事实上,我需要在for(){}中使用这样的东西;
所以也许最好的方法就是这样:
setTimeout("testDisplay(" + aa + "," + bb + ")",1000);
答案 0 :(得分:1)
您可以使用额外的范围。这适用于每个浏览器。
var i=1, t;
(function () {
var tmp = i;
t=setTimeout(function(){ fun(tmp) },10000);
})();
i=2;
答案 1 :(得分:0)
function fun(x){alert(x);}
var i=1;
var iCopy = i;
var t=setTimeout(function(){ fun(iCopy) },10000);
i=2;