摘要:看下面这段程序函数的默认定义域是全局的,代指调用他的那个对象函数是个调用对象为,故输出了。若要让输出,你只需这样做将值保存。有些地方也将写为。
看下面这段程序
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/80453.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...
阅读 2466·2023-04-25 19:24
阅读 1661·2021-11-11 16:54
阅读 2805·2021-11-08 13:19
阅读 3532·2021-10-25 09:45
阅读 2530·2021-09-13 10:24
阅读 3225·2021-09-07 10:15
阅读 3901·2021-09-07 10:14
阅读 2928·2019-08-30 15:56