關於js this指向的理解

2021-10-07 16:24:02 字數 485 閱讀 8128

var obj = , 

add1 : function(a) ;

var f = v => v + this.count;

return f.call(b,a);

},add2: function(a) ;

var f = function(v);        

return f.call(b,a);}};

console.log(obj.add(1));  //2    

console.log(obj.add1(1)); //2

console.log(obj.add2(1)); //3

總結:哪個物件呼叫了函式,該函式裡面的this就指向誰!如果乙個函式沒有明確的呼叫者,則this就預設指向window物件,箭頭函式比較特殊,箭頭函式沒有this,箭頭函式裡面的this繼承外面的環境!即箭頭函式外面環境的this指向誰,箭頭函式的this就指向誰。

要更全面了解,可以參考以下文章:

JS this指向分析

例如 a 在 飯店 吃 餃子 執行主體就是a 上下文就是飯店 吃餃子就是行為 function 吃餃子 a.吃餃子 輸出this 指a function this是誰 和函式在哪定義的和在哪執行的沒有任何關係,就是指執行主體 複製 1 函式執行,首先看函式前面是否有 有的話前面是誰,this就是誰,...

JS this指向問題

首先,明確一點,沒有巢狀時,函式中的this指向它的呼叫者.巢狀函式,內部的函式的this指向它的呼叫者 window 不是外層函式 var a fn a.f window其次,函式既可以在當前執行環境中 this指向物件 又可以在全域性環境中 this指向window var obj bar 1 ...

JS this指向問題(2)

var color orange window.color red var person function saycolor person.saycolor saycolor person.saycolor.call saycolor undefined person.saycolor.call s...