当前位置: 首页 > Web前端 > HTML

一个程序让你在JS中理解这个

时间:2023-04-03 00:11:06 HTML

看下面这个程序varname="Bob";varnameObj={name:"Tom",showName:function(){console.log(this.name);},waitShowName:function(){setTimeout(this.showName,1000);}};nameObj.waitShowName();//BobnameObj.showName();//TomsetTimeout函数的默认域是全局的,这里指的是调用对于他的对象,showName()函数调用的是nameObj,所以输出的是Tom。要让waitShowName输出Tom,您只需执行以下操作:varname="Bob";varnameObj={name:"Tom",showName:function(){console.log(this.name);},waitShowName:function(){varthat=this;//保存这个值。有的地方还把那个写成self。setTimeout(function(){console.log(that.name);},1000);}};nameObj.waitShowName();

最新推荐
猜你喜欢