問題場景
描述:上述事件監聽函式的兩處輸出應該分別是 表單物件 和 被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 箭頭函式箭頭左邊 中的內容是箭頭函式的引數 當沒有引數的時候,不可以省略 當只有乙個引數的時候,可以省略 如果有多個...