鍍金池/ 問答/HTML/ JS中函數(shù)定義在非嚴(yán)格模式,在嚴(yán)格模式下調(diào)用該函數(shù),this指向誰?

JS中函數(shù)定義在非嚴(yán)格模式,在嚴(yán)格模式下調(diào)用該函數(shù),this指向誰?

function foo() {
    console.log( this.a );
}
var a = 2;
(function(){
    "use strict";
    foo(); // 2
})();

如上代碼所示,函數(shù)foo定義在非嚴(yán)格模式下,在嚴(yán)格模式下調(diào)用該函數(shù),this指向的是全局。為什么呢?

書上寫到嚴(yán)格模式下,this禁止指向全局對象。并且還有“嚴(yán)格模式下與foo()的調(diào)用位置無關(guān)”。 這句話如何理解呢?

clipboard.png

回答
編輯回答