[问题] 一个js的bind() 问题

楼主: letmeask (Let me ask)   2021-06-18 15:00:02
程式
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物件了吗?
先谢谢版友解惑~
作者: davidsky (Alive)   2021-06-18 16:11:00
this要看当下 this 不是你写在a物件的this就是athis在你bind当下应该是全域的window

Links booklink

Contact Us: admin [ a t ] ucptt.com