Mein Englisch ist nicht gut, aber ich werde mein Bestes versuchen, meine Frage einfach zu erklären. Beschreibung: Alert Ergebnis ist 1, ich weiß nicht warum, ich denke, das sollte 2015 zu warnen.Wie Setzer und Getter in Javascript verwenden, traf ich einen Fehler
var book = {};
Object.defineProperties(book, {
_year: {
value: 1
},
edition: {
value: 23
},
year: {
get: function() {
return this._year;
},
set: function (newValue) {
if (newValue > 2004)
this._year = newValue;
}
}
}
);
book.year = 2015;
alert(book.year);
schöner Fang; Ich habe mich gefragt, warum ich defineProperties() nicht häufiger benutze. Beachten Sie, dass wenn Sie die häufigere Object.defineProperty() für eine vorhandene Objekteigenschaft verwenden, dieses Flag bereits festgelegt ist, so dass Sie writeable nicht explizit erwähnt benötigen. – dandavis
@dandavis: Eigentlich arbeite ich schon seit einiger Zeit hauptsächlich an JavaScript und ich habe ** noch nie davon gehört. Ich werde definitiv mehr darüber schauen. –