Window vs Var声明变量

Wil*_*ham 12 javascript

可能重复:
使用var和不使用JavaScript中的var之间的区别
我应该使用window.variable还是var?

我已经看到了两种在javascript中声明类的方法.

喜欢

window.ABC = ....
Run Code Online (Sandbox Code Playgroud)

要么

var ABC = ....
Run Code Online (Sandbox Code Playgroud)

使用类/变量有什么区别吗?

gn2*_*n22 20

window.ABC 将ABC变量范围限定为窗口范围(实际上是全局的.)

var ABC 将ABC变量范围限定为ABC变量所在的任何函数.


Ale*_*pin 11

var为当前范围创建变量.因此,如果您在函数中执行此操作,则无法在其外部访问它.

function foo() {
    var a = "bar";
    window.b = "bar";
}

foo();
alert(typeof a); //undefined
alert(typeof b); //string
alert(this == window); //true
Run Code Online (Sandbox Code Playgroud)