JavaScript绑定this
Posted weiyinfu
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript绑定this相关的知识,希望对你有一定的参考价值。
问题描述
var a = {
one: 1,
haha() {
console.log(this.one)
}
}
setTimeout(a.haha, 1000)
在上例中,函数haha引用了this.one,而定时器结束之后调用的haha传入的this并不是a,输出结果this.one是未定义变量。
方法一:使用箭头函数的方式设置回调
var a = {
one: 1,
haha() {
console.log(this.one)
}
}
setTimeout(() => {
a.haha()
}, 1000)
方法二:手动指定this
var a = {
one: 1,
haha() {
console.log(this.one)
}
}
function go(func) {
func.bind(a).call()
}
go(a.haha)
以上是关于JavaScript绑定this的主要内容,如果未能解决你的问题,请参考以下文章