Javascript 如何在for循环外部访问变量
在下面的代码中,我为循环声明了变量Javascript 如何在for循环外部访问变量,javascript,Javascript,在下面的代码中,我为循环声明了变量Ion,并尝试访问变量I,我可以得到I的最后更新值,如何 for(var i=0;i在当前函数的范围内声明一个变量,而不是当前块(它是用于此函数的) 在for循环之后,您仍然在同一个函数中,因此变量仍然存在(无论最后设置的值是什么) (注意:对于var,在任何函数之外运行的代码都被有效地视为在其自身的函数中运行)。好吧,您使用的是var,这正是var类型应该做的 我们有var和let,让我们看看它们是如何工作的 当您这样声明变量时: let something
I
on,并尝试访问变量I
,我可以得到I
的最后更新值,如何
for(var i=0;i在当前函数的范围内声明一个变量,而不是当前块(它是用于此函数的)
在for
循环之后,您仍然在同一个函数中,因此变量仍然存在(无论最后设置的值是什么)
(注意:对于var
,在任何函数之外运行的代码都被有效地视为在其自身的函数中运行)。好吧,您使用的是var
,这正是var
类型应该做的
我们有var
和let
,让我们看看它们是如何工作的
当您这样声明变量时:
let something;
var something;
您只能访问该范围内的something
(例如,您自己的for
循环),而在该范围外,您无法访问它。另一方面,当您使用var
类型时,如下所示:
let something;
var something;
您可以在范围之外使用此变量(同样像您自己的for
循环一样)
请注意,我们不是在讨论全局变量,我们只是在讨论作用域
如果你想声明一个全局变量,只需在全局范围内使用var
。你发布的代码是有效的。你真正在做什么?@Pointy是的,它是有效的,但我试图理解变量是如何在循环之外拥有该值的。var
声明创建了在整个函数中可见的变量它们出现在中的选项。请检查此选项