Javascript と OO プログラミングについてもう少し詳しく説明しますが、ここでこの動作を理解していません。なぜ私のオブジェクトなのか (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);
コンソール出力は次のとおりです。