作者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/cn.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