在Javascript中,setTimeout中使用的变量的作用域是什么?

In Javascript, what is the scope of variables used in setTimeout?

本文关键字:变量 作用域 是什么 Javascript setTimeout      更新时间:2023-09-26

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

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

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

This:

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

将传递全局变量var1

:

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

传递局部变量var1

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

它将传递全局变量var1