很多文章都说,在内部省略var相当于声明了全局变量,如下代码显示这种写法与window.b更相似,而不是使用var
window.b = "hi";
b; // "hi"
delete b; // true
b; // ReferenceError: b is not defined
(function(){c = "hi"}());
c; // "hi"
delete c; // true
c; // ReferenceError: c is not defined
var a = "hi";
a; // "hi"
delete a; // false
a; // "hi"
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
使用
var声明的变量的configurable属性是false,就因为这。Explicit is better than Implicit.
建议只用 window,var 会让代码难以维护。