Window vs Var声明变量

时间:2011-08-16 18:08:26

标签: javascript

  

可能重复:
  Difference between using var and not using var in JavaScript
  Should I use window.variable or var?

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

window.ABC = ....

var ABC = ....

使用类/变量有什么不同吗?

5 个答案:

答案 0 :(得分:17)

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

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

答案 1 :(得分:10)

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

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

foo();
alert(typeof a); //undefined
alert(typeof b); //string
alert(this == window); //true

答案 2 :(得分:4)

window.ABC = "abc"; //Visible outside the function
var ABC = "abc"; // Not visible outside the function.

如果你不在声明变量的函数之外,它们是等价的。

答案 3 :(得分:3)

window使变量全局到窗口。除非您有其他原因,否则请使用var声明变量。

答案 4 :(得分:2)

主要区别在于您的数据现在附加到窗口对象而不是仅存在于内存中。否则,它是一样的。