让我们考虑这段 JavaScript 代码:
function Person(name) {
this.name = name;
}
Person.prototype.showName = function() {
alert(this.name);
}
var mike = new Person("mike");
//mike.showName();
window.name = "window";
我不理解以下两个代码片段的区别:setTimeout(mike.showName(), 5000);
和
setTimeout(function(){
mike.showName();
}, 5000);
为什么行为不同?这真的让我困惑。谢谢。