为什么没有var?

use*_*669 0 javascript

可能重复:
使用var和不使用JavaScript中的var之间的区别

似乎是愚蠢的问题,但只是好奇.

num = "hello";

alert(num);
Run Code Online (Sandbox Code Playgroud)

为什么这可能我没有在这里初始化num变量.

num = "hello";
Run Code Online (Sandbox Code Playgroud)

代替

var num = "hello";
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 6

var 表示"将此变量范围限定为此函数"而不是"可以使用此变量".

如果你离开var,那么它将使用该函数中下一个范围内的变量.如果该范围没有var yourVar那么它将继续向上移动范围链,直到它变成一个全局并且悬挂在window对象上(假设一个浏览器或其他默认对象的JS环境window).

(这在严格模式下会发生变化,您可能不会使用它.)