Personクラスを作成しようとしています。その人の年齢は、if/elseステートメントによって決定される乱数になります。今のところ、関数をオブジェクトの外に配置するか、別のキーとして配置した場合にのみ機能するようです。
function age(x) {
if (x.toLowerCase().charCodeAt(0) <= "g".charCodeAt(0)) {
return Math.floor(Math.random()*40+1);
}
else {
return Math.floor(Math.random()*40+41);
}
}
function person(name) {
this.name = name;
this.age = age(name);
}
var people = {
joe: new person("Joe")
};
console.log(people.joe.age);
\\ returns a number 41-80
関数を「this.age」キーに直接入れて、同じことを次のように行う方法はありますか?
function person(name) {
this.name = name;
this.age = function age() {
if (this.name.toLowerCase().charCodeAt(0) <= "g".charCodeAt(0)) {
return Math.floor(Math.random()*40+1);
}
else {
return Math.floor(Math.random()*40+41);
}
};