setTimeout第一个参数的疑问

var obj = {    str : 'value',    tall : function(){        console.log(this.str);
    }
};

setTimeout(obj.tall, 1000);
setTimeout(obj.tall(), 1000);
setTimeout(function(){
    obj.tall(); 
}, 1000);

代码执行后,输出的结果分别是: undefined, value, value 
对第一个打印“undefined”不理解?


喵喔喔
浏览 588回答 1
1回答

慕姐4208626

第一个等价于setTimeout(function(){    console.log(this.str)//this指向的是window}, 1000);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript