草率模式(非严格模式):
<小时/>function sloppyFunc() {
sloppyVar = 123;
}
sloppyFunc(); // creates global variable `sloppyVar`
console.log(sloppyVar); // 123
严格模式:
<小时/>function strictFunc(){
'use strict';
strictVar = 123;
}
strictFunc(); // ReferenceError: strictVar is not defined
有没有办法在功能 block 内以严格模式声明全局变量?
最佳答案
您可以向窗口读取和写入属性。
function strictFunc(){
'use strict';
window.strictVar = 123;
}
strictFunc();
console.log(strictVar); // 123
dystroy 提醒我这只能在浏览器中使用。为了提供完整的答案,以下是在 Node.js 中执行此操作的方法:
function strictFunc(){
'use strict';
GLOBAL.strictVar = 123;
}
strictFunc();
关于javascript - 严格模式下是否定义了全局 var 关键字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24756780/