箭頭函式this的問題

2022-09-04 22:45:25 字數 434 閱讀 5447

箭頭函式沒有自己的this物件,所以在箭頭函式取this的時候就是定義時上層作用域中的this

function foo() , 100);

}var id = 21;

//foo() 21 這時候foo的this指向window

foo.call()//42 foo的this指向

並且箭頭函式時向上找最近的定義時上層作用域

var id = 21;

function foo() ;

};};};}

var f = foo.call(); //this 指向

var t1 = f.call()(); //1 這時候修改箭頭函式的this生效

t1()(); //id 為21 因為匿名函式的this指向window

箭頭函式this問題

普通函式中的this 1.this總是代表它的直接呼叫者 js的this是執行上下文 例如 obj.func 那麼func中的this就是obj 2.在預設情況 非嚴格模式下,未使用 use strict 沒找到直接呼叫者,則this指的是 window 約定俗成 3.在嚴格模式下,沒有直接呼叫者的...

箭頭函式this指向問題

前言 線下筆試碰到的題目,發現學習掌握的不透徹,所以回來填坑 const obj1 const obj2 console.log obj1.func.bind obj2 輸出結果為 剛開始很疑惑結果,於是做了個對比 const obj1 const obj2 console.log obj1.fun...

箭頭函式 this指向問題

1.為什麼要用箭頭函式 2.箭頭函式分析this指向 1.this指向呼叫函式的物件 function a a 2.this指向window var a 2 這裡不能換成let a 2 因為window.獲取不到a的值 var obj obj.b 總結 1.箭頭函式在定義的時候生效 而普通函式則在呼...