使用自调用函数来包装严格模式兼容代码(通常称为严格模式编译指示)被认为是一种好习惯:
(function(){
"use strict";
// Strict code here
}());
Run Code Online (Sandbox Code Playgroud)
我的问题是如何在这种情况下声明全局变量?我今天知道的三种选择:
备选方案1:
var GLOB = {};
(function(){
"use strict";
}());
Run Code Online (Sandbox Code Playgroud)
备选方案2:
(function(){
"use strict";
window.GLOB = {};
}());
Run Code Online (Sandbox Code Playgroud)
备选方案3:
(function(win){
"use strict";
win.GLOB = {};
}(window));
Run Code Online (Sandbox Code Playgroud)
任何偏好和动机?其他选择?
javascript ×1