为什么小程序中,setTimeout函数里面的this指向本身

不要跟着我
  • 6

生命周期是这样写的

onReady: function () {

setTimeout(function() {
    console.log(this)
},0)

}

然后打印的是函数本身

ƒ () {

  console.log(this);
}
回复
阅读 1.4k
1 个回答

这么写var that = this;
然后用that。

onReady: function () {

var that = this;
setTimeout(function() {
    console.log(this);
    console.log(that);
},0)


}

this顾名思义就是指本身,在setTimeout是个回调函数,那么在其函数里log出的this当然是其函数本身了。that才是你的页面的this。
如果有帮助请点赞并采纳。

就评论附加

全局环境中,this会返回顶层对象。但是,Node 模块和 ES6 模块中,this返回的是当前模块。

你知道吗?

宣传栏