在Javascript中,setTimeout中使用的变量范围是什么?

时间:2011-04-25 14:50:32

标签: javascript global-variables settimeout

我在函数中使用以下代码:

setTimeout("doSomething(var1)",10000);

但是,我也有var1作为全局变量。 10000毫秒后,它会调用本地var1还是全局var1

2 个答案:

答案 0 :(得分:15)

此:

setTimeout('doSomething(var1)', 10000);

将传递全局变量var1

而且:

setTimeout(function() { doSomething(var1); }, 10000);

将传递局部变量var1

现场演示: http://jsfiddle.net/simevidas/EQMaz/

答案 1 :(得分:3)

它将传递名为var1的全局变量。