Window vs Var来声明变量
Window vs Var to declare variable
可能重复:
在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
声明变量。
主要区别在于,您的数据现在附加到窗口对象,而不仅仅存在于内存中。否则,情况也是一样的。
相关文章:
- 使用同一对象中的其他变量声明变量
- 用||声明变量
- 使用javascript使用for循环声明变量
- JavaScript-用for循环项声明变量
- try声明变量的作用域
- 有没有一种方法可以使用函数参数的值来声明变量
- 在使用javascript再次声明变量之前,请先清除或删除该变量
- Javascript未声明变量
- 在Javascript中,我可以在声明变量之前使用它吗
- 在html文档的开头声明变量
- 按什么顺序声明变量和函数
- 如何以正确的方式在jQuery中声明变量
- 在 Angular 服务中接收函数的未声明变量
- 字典和声明变量
- 需要一些有关以以下样式声明变量的信息
- 在 jQuery 中使用常量声明变量
- 从外部文件在打字稿中声明变量得到引用错误:..未定义
- JavaScript,声明变量时混淆语法
- 在 javascript 函数和内存管理中声明变量
- Javascript 使用 if 语句声明变量