Window vs Var来声明变量

Window vs Var to declare variable

本文关键字:声明 变量 Var vs Window      更新时间:2023-09-26

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

我看到了用javascript声明类的两种方法。

window.ABC = ....

var ABC = ....

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

window.ABC将ABC变量范围化为窗口范围(实际上是全局范围(

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

var为当前作用域创建一个变量。所以,如果你在一个函数中执行它,它将无法在它之外访问

function foo() {
    var a = "bar";
    window.b = "bar";
}
foo();
alert(typeof a); //undefined
alert(typeof b); //string
alert(this == window); //true
window.ABC = "abc"; //Visible outside the function
var ABC = "abc"; // Not visible outside the function.

如果您在声明变量的函数之外,那么它们是等价的。

window使变量成为窗口的全局变量。除非您有其他理由,否则请使用var声明变量。

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