我在这些对象的年龄属性上犯了一个错误,当我尝试重新分配不同的值时,它根本不会改变。
我想让它与Object.create方法一起使用,请问我应该怎么做才能修复这个问题?
我想让它与Object.create方法一起使用,请问我应该怎么做才能修复这个问题?
var personProto = {
calculateAge: function() {
console.log(2019 - this.yearOfBirth)
},
fullName: function() {
console.log(this.name + ' ' + this.lastName)
}
}
var sam = Object.create(personProto, {
name: { value: "samuel" },
yearOfBirth: { value: 1092 },
lastName: { value: "max" },
job: { value: "developer" }
});
sam.yearOfBirth = 1992;
sam.calculateAge(); // 927
console.log(sam.calculateAge());
给出的结果是927,假设出生年份仍为1092,即使我将其更改为1992,预期输出应为27。
writable: false
。 - Bergi