看板 Web_Design 關於我們 聯絡資訊
程式 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
davidsky: this要看當下 this 不是你寫在a物件的this就是a 06/18 16:11
davidsky: this在你bind當下應該是全域的window 06/18 16:11
喔喔,我瞭解你的意思,我改出來了~謝謝^^ ※ 編輯: letmeask (180.177.13.6 臺灣), 06/18/2021 16:29:37