Offensichtlich ist dies ein Thema, das für den IE irrelevant ist (mit Ausnahme des fortgeschrittenen IE). Trotzdem sollten interessierte Schüler die Implementierung von Gettern und Setter im ECMAScript5 -Standard kennenlernen. In einem Objekt wird der am häufigsten verwendete Betrieb von Eigenschaften oder Methoden gelesen (Referenz) und Schreiben. Zum Beispiel ist O.get, das eine Lesevorrichtung ist, und O.Set = 1 ist ein Schreibvorgang. Tatsächlich kann bei der Implementierung der neuesten Mainstream -Browser mit Ausnahme des IE den Schlüsselwert eines beliebigen Objekts durch Getter- und Setter -Methoden ersetzt werden, die als "Accessor -Attribut" bezeichnet werden.
Es besteht kein Zweifel, dass Getter für die Abfrage des Wertes verantwortlich ist, keine Parameter benötigt und Setter für die Festlegung des Schlüsselwerts verantwortlich ist. Der Wert wird in Form von Parametern übergeben. In seiner Funktionsbehörde ist alle Rendite ungültig. Im Gegensatz zu gewöhnlichen Eigenschaften kann die Speichereigenschaft bei der Deklaration nur dann nicht sowohl gelesen als auch schreiben. Wenn es nur eine Gettter -Methode hat, wird es nur gelesen. Wenn es nur eine Setter -Methode hat, ist das, was Sie lesen, immer undefiniert. Wie deklariere ich Objektspeicherattribute? Der schnellste Weg ist die Verwendung der Syntax von Objektliteralen zum Schreiben. Bitte beachten Sie den folgenden Code:
Die Codekopie lautet wie folgt:
var oo = {
Name: 'xianxin',
Holen Sie sich sex () {
zurück 'Mann';
}
};
// Dies ist offensichtlich nicht erlaubt, da Xianxin nicht möchte, dass die Außenwelt die Tatsache ändert, dass er ein Mann ist, so dass nur die schreibgeschützte Funktion für Sex eingestellt ist.
oo.sex = 'Frau';
console.log (oo.sex); // Das Ergebnis ist immer noch ein Mann
Interessanterweise untergräbt dies unser vorheriges Verständnis, dh das Funktionsschlüsselwort für Funktionen bei der Definition der Methode nicht. Tatsächlich können Sie es hier als Funktion in zwei verschiedenen Zuständen verstehen oder festlegen: die inklusive Seite (Schreiben), die sichere Seite (lesen Sie), wenn ein Ganzes in eine andere Form zerstückelt wird, bedeutet dies, dass wir möglicherweise nicht mehr die Tradition in Bezug auf Ausdruck folgen müssen, sodass wir keine Kolonen verwenden müssen, um Schlüssel und Werte zu trennen. Fahren Sie dann mit dem obigen Beispiel fort. Wie werden Sie sowohl gelesen als auch schreiben, basierend auf Speichereigenschaften? Vielleicht gibt Ihnen der folgende Absatz die Antwort:
Die Codekopie lautet wie folgt:
var oo = {
Name: 'xianxin',
Holen Sie sich sex () {
if (this.sexx) {
zurück this.sexx;
}anders{
zurück 'Mann';
}
}, sex (val) {
this.sexx = val;
}
};
// Oh, er ist so tolerant, dass sogar Menschen sein Geschlecht verändern, er akzeptiert es.
oo.sex = 'Frau';
console.log (oo.sex); // Ergebnis Frau
Vielleicht werden Sie denken, dass dies unnötig ist, da wir Get und Setzen und direkt zulassen, dass die Sex -Methode zwei Berechtigungen hat. Der Grund, warum wir Get und Set separat abgeschlossen haben, ist, die Schlüsselwerbung von ECMAScript5 auf JavaScript-Objekt, eine strengere Interpretation, klarer zu verstehen. Natürlich scheinen in China, die vom IE verschmutzt sind, neue Mainstream -Technologien immer fehl am Platz. In der tatsächlichen Projektentwicklung können Sie Get and Set nie verwenden, aber wer kann garantieren, dass Sie es in Zukunft nicht tun werden ...