js setTimeout里this的问题

var obj={ 

id:"awesome",

cool:function coolFn(){

  console.log(this.id);

 }

};

obj.cool()//awesome

var id="not awesome";

setTimeout(obj.cool,1000.);//not awesome

为什么setTimeout输出"not awesome",书中这样解释的


问题在于cool()函数丢失了同this之间的绑定


这句话怎么理解,加上一个定时器,为什么就会丢失this的绑定,内部的原理是怎样的?


偶然的你
浏览 499回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript