“严格模式”是在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);//报错