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...