更多地了解 Javascript 和 OO 编程,但我不明白为什么我的 ojbect 的这种行为(myUser 无法访问属性 this.first_name 作为 'jon' 而是未定义(在底部的屏幕截图中以红色突出显示) .这是有问题的代码片段:
function User(first_name, last_name){
this.first_name=first_name;
this.last_name=last_name;
}
// left in for completeness
User.prototype = {
constructor: User,
sayName: function(){
console.log("My Name: " + this.first_name + " and " + this.last_name);
}
}
User.prototype.whoWhat = function(){
console.log(this.first_name + " I want to tell you now " + Math.random());
}
var myUser=new User('jon', 'johnson');
myUser.sayName();
myUser.whoWhat();
setInterval(myUser.whoWhat, 3000);
这是控制台输出: