禁止this关键字指向全局对象。
function f(){
return!this;
}
// 返回false,因为"this"指向全局对象,"!this"就是false
function f(){
"use strict";
return!this;
}
// 返回true,因为严格模式下,this的值为undefined,所以"!this"为true。
因此,使用构造函数时,如果忘了加new,this不再指向全局对象,而是报错。
function f(){
"use strict";
this.a =1;
};
f();// 报错,this未定义