在for循环外如何访问变量

时间:2018-10-09 12:28:47

标签: javascript

在下面的代码中,我在for循环上声明了变量i,并尝试访问变量i,我可以获取i的最新更新值。 >

for(var i = 0; i <= 10; i++){
   console.log(i);
}

console.log(i,'outside');

2 个答案:

答案 0 :(得分:8)

The var statement当前函数的范围内声明一个变量,而不是当前块(the let statement的作用)。

for循环之后,您仍然在同一个函数中,因此该变量仍然存在(最后设置为哪个值)。

(注意:就var而言,在任何函数之外运行的代码都被有效地视为其自身的函数)。

答案 1 :(得分:2)

好吧,您正在使用var,而这正是var类型应该做的!

我们有varlet,让我们看看它们是如何工作的。

当您这样声明变量时:

let something; 

您只能在该范围内访问something(例如,您自己的for循环),而在范围之外,则无法访问它。另一方面,当您使用var类型时,如下所示:

var something;

您可以在范围之外使用此变量(再次类似于您自己的for循环)

请注意,我们不是在谈论全局变量。我们只是在讨论范围。

如果要声明全局变量,只需在全局范围内使用var