作者letmeask (Let me ask)
看板Web_Design
標題[問題] 一個js的bind() 問題
時間Fri Jun 18 15:00:02 2021
程式
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://webptt.com/m.aspx?n=bbs/Web_Design/M.1623999604.A.9DD.html
1F:推 davidsky: this要看當下 this 不是你寫在a物件的this就是a 06/18 16:11
2F:→ davidsky: this在你bind當下應該是全域的window 06/18 16:11
喔喔,我瞭解你的意思,我改出來了~謝謝^^
※ 編輯: letmeask (180.177.13.6 臺灣), 06/18/2021 16:29:37