可能重复:
Difference between using var and not using var in JavaScript
Should I use window.variable or var?
我已经看到了两种在javascript中声明类的方法。
像
window.ABC = ....
或
var ABC = ....
使用类/变量有什么不同吗?
答案 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)
主要区别在于您的数据现在附加到窗口对象而不是仅存在于内存中。否则,它是一样的。