Dun*_*Man 3 javascript mode object strict literals
假设我们有这个脚本.
var apple = {
type: "macintosh",
color: "red",
getInfo: function () {
return this.color + ' ' + this.type + ' apple';
}
///more functions here....
}
Run Code Online (Sandbox Code Playgroud)
如何让所有这些功能以严格模式运行?我可以在文件的顶部放置"use strict",但JSlint不批准这个.另一种方法是在每个函数中加上"use strict",但是有更好的选择吗?
将所有内容包装在IIFE中,JSLint应该批准.
(function () {
"use strict";
//all your code here
}());
Run Code Online (Sandbox Code Playgroud)
请注意,当移动到此立即调用的函数表达式中时,先前在全局作用域中声明的变量/函数将不再可在全局作用域中访问.
您必须将这些显式设置为全局对象的属性,例如window
浏览器环境的对象:
(function () {
"use strict";
window.someGlobalVariable = "something";
}());
Run Code Online (Sandbox Code Playgroud)
@zzzzBov的解决方案也适用于浏览器和后端环境.