一段程序让你看懂JS中的this
2021-03-29 19:26
标签:保存 全局 console article 默认 tom his var UNC 看下面这段程序 setTimeout函数的默认定义域是全局的,this代指调用他的那个对象,showName()函数是个调用对象为nameObj,故输出了Tom。若要让waitShowName输出Tom,你只需这样做: 一段程序让你看懂JS中的this 标签:保存 全局 console article 默认 tom his var UNC 原文地址:https://www.cnblogs.com/baimeishaoxia/p/12603342.htmlvar name = "Bob";
var nameObj ={
name : "Tom",
showName : function(){
console.log(this.name);
},
waitShowName : function(){
setTimeout(this.showName, 1000);
}
};
nameObj.waitShowName();//Bob
nameObj.showName();//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();