他们的意思不同。如果使用
var变量,则在范围内声明变量(例如,在函数中)。如果不使用
var,则变量会在作用域的各个层中冒出气泡,直到遇到给定名称的变量或全局对象(如果在浏览器中是窗口,则为窗口),然后将变量附加到该变量。这与全局变量非常相似。但是,仍然可以使用删除它
delete(很可能是其他人的代码也未能使用
var)。如果
var在全局范围内使用,则该变量是真正的全局
变量,无法删除。
在我看来,这是javascript最危险的问题之一,因此不建议使用,或者至少在警告时发出警告。原因是,很容易忘记,
var并且偶然有一个绑定到全局对象的通用变量名。这会产生奇怪且难以调试的行为。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)