开启严格模式
代码(或一个函数)一开始插入一行 `'use strict'` 即可开启严格模式
'use strict' // 全局开启
function fn() {
'use strict' // 某个函数开启
}
特点
全局变量必须声明
否则会造成全局变量的污染
'use strict'
n = 10 // ReferenceError: n is not defined
禁止使用 `with`
使用 with 让代码不易阅读
'use strict'
var obj = { x: 10 }
with (obj) {
// Uncaught SyntaxError: Strict mode code may not include a with statement
console.log(x)
}
创建 eval 作用域
正常模式下,JS 只有两种变量作用域:全局作用域 + 函数作用域。严格模式下,JS 增加了 eval 作用域。
不推荐使用,性能会有问题
<