“严格模式”是在ES5中引入的。它痛正常模式,或者说宽松、懒惰模式相比,严格模式在行为上有很多不同。其中一个不同的兴伟是严格模式禁止自动或隐式地创建变量。而正常模式在发现未声明的变量时则会自动声明但不赋值。
例(正常模式与严格模式比较):
function foo(a){
b = a;console.log(a + b);
}
foo(2);
输出:4
function foo(a){
"use strict"; //严格模式
b = a; //b未声明,报错
console.log(a + b);
}
foo(2);
报错