jquery 中 箭頭函式 中 「this「 問題

2022-09-19 20:48:15 字數 403 閱讀 5818

問題場景

描述:上述事件監聽函式的兩處輸出應該分別是 表單物件 和 被jquery封裝的表單物件 才對,為什麼是window物件?

原因尋找:

有大佬這樣說:

「無解,因為箭頭函式在建立時就已經繫結了this, 後面在執行時不能重新繫結。在jquery中通常不要用箭頭函式,因為jquery在執行**函式時很多時候會為它動態繫結乙個this, 所以你不要在建立時為它繫結this, 也不要用箭頭函式。」

() => {};

// 相當於:

funciotn(){}.bind(this);

解決方案:

在jquery中不要使用箭頭函式!

js中箭頭函式

console.log fn 1 undefind var fn function a console.log fn 1 1 function fn2 a console.log fn 2 2 let fn3 v v let fn3 v 0 let fn4 console.log fn3 5 1,2...

Js普通函式中this和箭頭函式中this

this的意思是 我的 如我的名字叫張三,我的名字叫李四。每個人都可以用 我的 張三說我的,那麼 我的 就代表張三,李四說我的,那麼 我的 就代表李四 var name 張三 function a a 完整寫法,windows.a this指向的是windows物件,列印的為張三 var name ...

ECMAScript6中箭頭函式

es6 允許使用 箭頭 定義函式,箭頭函式雖然可以使 更加簡潔明瞭,但是箭頭函式不能亂使用,因為其中的this指向是與普通函式不同的。function dog 普通函式 letdog 箭頭函式箭頭左邊 中的內容是箭頭函式的引數 當沒有引數的時候,不可以省略 當只有乙個引數的時候,可以省略 如果有多個...