JS中關於this指向得一道經典面試題

2021-10-09 17:36:31 字數 466 閱讀 7119

問題: 請問下面最終this.number是多少?

window.number = 2;

var obj =

})()

}var db1 = obj.db1;

db1();

obj.db1();

console.log(obj.number);

答案:40

解析:(1)var db1 = obj.db1;  這個是this.number *= 4;

return function() ,   然後window.number    結果是8

(2)db1();是執行的匿名函式       此時的number 是8,匿名函式執行之後是40

(3)obj.db1();  指的是obj 的函式裡面的number,此時為3,  執行匿名函式結果是15

(4)不要想著number,就是乙個this 的問題

js的一道經典題目

今天碰到一道題,裡面既包含了匿名函式的知識,也包含了預編譯,函式的傳參 形參 感覺迷迷糊糊的,所以想著做個總結。var foo function foo console.log foo.n foo console.log foo.n 上面的 可以寫成這樣,看解釋 1 var foo 2 functi...

js的一道經典題目

今天碰到一道題,裡面既包含了匿名函式的知識,也包含了預編譯,函式的傳參 形參 感覺迷迷糊糊的,所以想著做個總結。var foo function foo console.log foo.n foo console.log foo.n 上面的 可以寫成這樣,看解釋 1 var foo 2 functi...

關於js中的this指向問題

1.在普通函式和全域性環境下 this指向window function demo demo console.log this x 102.建構函式 建構函式就是函式new出來的物件,所以this指向該物件 function foo var foo newfoo console.log foo.x ...