[問題] 一個js的bind() 問題

看板Web_Design作者 (Let me ask)時間3年前 (2021/06/18 15:00), 3年前編輯推噓1(101)
留言2則, 1人參與, 3年前最新討論串1/1
程式 let a = { x : 100 , fun : function(){ alert(this.x); } } let b = { x : 10 , fun : a.fun } b.fun(); 會印出 10 , 我可以理解 不過我改成 let a = { x : 100 , fun : function(){ alert(this.x); }.bind(this) } let b = { x : 10 , fun : a.fun } b.fun(); 為什麼會印出undefined呢? 我fun不是已經綁定a物件了嗎? 先謝謝版友解惑~ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 180.177.13.6 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Web_Design/M.1623999604.A.9DD.html

06/18 16:11, 3年前 , 1F
this要看當下 this 不是你寫在a物件的this就是a
06/18 16:11, 1F

06/18 16:11, 3年前 , 2F
this在你bind當下應該是全域的window
06/18 16:11, 2F
喔喔,我瞭解你的意思,我改出來了~謝謝^^ ※ 編輯: letmeask (180.177.13.6 臺灣), 06/18/2021 16:29:37
文章代碼(AID): #1Wp4HqdT (Web_Design)
文章代碼(AID): #1Wp4HqdT (Web_Design)