function foo(){
"use strict";
console.error(this.a);
}
var a = 2;
foo(); //type error this is undefined.
//代码2
function foo(){
console.error(this.a);
}
var a =2;
+function(){
"use strict";
foo();
}() //2
//代码1 this 是unfiend 代码2 this是全局对象
原因:use strict是FunctionBody检查。所以进入foo()内发现是“use strict”就没;
而后者foo()本身就是non strict;
时间: 2024-10-29 19:07:32