摘要:看下面这段程序函数的默认定义域是全局的,代指调用他的那个对象函数是个调用对象为,故输出了。若要让输出,你只需这样做将值保存。有些地方也将写为。
看下面这段程序
var name = "Bob"; var nameObj ={ name : "Tom", showName : function(){ console.log(this.name); }, waitShowName : function(){ setTimeout(this.showName, 1000); } }; nameObj.waitShowName();//Bob nameObj.showName();//Tom
setTimeout函数的默认定义域是全局的,this代指调用他的那个对象,showName()函数是个调用对象为nameObj,故输出了Tom。若要让waitShowName输出Tom,你只需这样做:
var name = "Bob"; var nameObj ={ name : "Tom", showName : function(){ console.log(this.name); }, waitShowName : function(){ var that = this; //将this值保存。有些地方也将that写为self。 setTimeout(function(){ console.log(that.name); }, 1000); } }; nameObj.waitShowName();
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/111587.html
摘要:看下面这段程序函数的默认定义域是全局的,代指调用他的那个对象函数是个调用对象为,故输出了。若要让输出,你只需这样做将值保存。有些地方也将写为。 看下面这段程序 var name = Bob; var nameObj ={ name : Tom, showName : function(){ console.log(this...
摘要:看下面这段程序函数的默认定义域是全局的,代指调用他的那个对象函数是个调用对象为,故输出了。若要让输出,你只需这样做将值保存。有些地方也将写为。 看下面这段程序 var name = Bob; var nameObj ={ name : Tom, showName : function(){ console.log(this...
摘要:的二进制科学计数法第位是,所以就有了下面的结果有着同样的问题,其实正是由于这样的存储,在这里有了精度丢失,导致了。最大安全数字中表示最大安全数字计算结果是,即在这个数范围内不会出现精度丢失小数除外这个数实际上是。是一个任意精度的整数。 话不多说,先上代码 function judgeFloat(n, m) { const binaryN = n.toString(2...
阅读 3156·2023-04-25 18:22
阅读 2390·2021-11-17 09:33
阅读 3307·2021-10-11 10:59
阅读 3237·2021-09-22 15:50
阅读 2808·2021-09-10 10:50
阅读 859·2019-08-30 15:53
阅读 448·2019-08-29 11:21
阅读 2907·2019-08-26 13:58