Beispiel für die Verwendung eines manipulationssicheren JavaScript-Objekts

Beispiel für die Verwendung eines manipulationssicheren JavaScript-Objekts

Manipulationssicheres Javascript-Objekt

Dieses Ding wird selten verwendet und ich persönlich finde, dass es nicht sehr nützlich ist. Es kann jedoch als Werkzeug zum Angeben verwendet werden, haha, fangen wir an. .

1. Nicht erweiterbare Objekte

Objekte sind standardmäßig erweiterbar, das heißt, dass ihnen jederzeit Eigenschaften und Methoden hinzugefügt werden können. Jetzt können Sie dieses Verhalten mit der Methode Object.preventExtensions(object) ändern, sodass Sie dem Objekt keine Eigenschaften und Methoden mehr hinzufügen können. Zum Beispiel:

var person={name : 'jack'};
Objekt.preventExtensions(Person);
Person.Alter=13;
console.log(Person.Alter);///aufheben

Obwohl Sie dem Objekt keine neuen Mitglieder hinzufügen können, sind die vorhandenen Mitglieder hiervon überhaupt nicht betroffen und Sie können Ihre vorhandenen Mitglieder weiterhin ändern und löschen. Darüber hinaus können Sie mit der Methode isExtensible() bestimmen, ob das Objekt erweiterbar ist. Zum Beispiel:

var person={name : 'jack'};
Alarm (Objekt.isExtensible (Person)); //wahr

Objekt.preventExtensions(Person);
Alarm (Object.istExtensible (Person)); //falsch

2. Versiegelte Objekte

Die zweite von ECMAScript 5 für Objekte definierte Schutzebene sind versiegelte Objekte. Verwenden Sie die Methode Object.seal(object), um ein Objekt in ein versiegeltes Objekt zu ändern. Versiegelte Objekte sind nicht erweiterbar und das Attribut [[configurable]] vorhandener Mitglieder wird auf „false“ gesetzt. Dies bedeutet, dass Eigenschaften und Methoden nicht gelöscht werden können, da Sie Object.defineProperty() nicht verwenden können, um Daten zu ändern und auf deren Eigenschaften zuzugreifen, und umgekehrt. Der Attributwert kann jedoch geändert werden.

var person = {name:'tom'};
Objekt.Siegel(Person);
Person.Alter=12;
console.log(Person.Alter);//aufheben

person.name löschen;
konsole.log(person.name);//tom

person.name="jack";
Alarm (Person.Name);//Jack

Verwenden Sie die Methode Object.isSealed(), um zu bestimmen, ob ein Objekt versiegelt ist. Da versiegelte Objekte nicht erweiterbar sind, gibt die Verwendung von Object.istExtensible() zum Erkennen versiegelter Objekte ebenfalls false zurück (d. h. nicht erweiterbar).

var person = {name:'tom'};
alert(Object.isExtensible(person)); ///true, erweiterbar alert(Object.isSealed(person)); ////false, unverschlüsselt Object.seal(person);
alert(Object.isExtensible(person)); ///false, nicht erweiterbar alert(Object.isSealed(person)); ////true, bereits verschlüsselt

3. Gefrorene Objekte

Die strengste Stufe der Manipulationsprävention sind eingefrorene Objekte. Eingefrorene Objekte sind weder erweiterbar noch versiegelt, und das Attribut [[Writable]] der Dateneigenschaften des Objekts wird auf „false“ gesetzt. Wenn eine Set-Funktion definiert ist, ist die Accessor-Eigenschaft immer noch beschreibbar. Jetzt können Sie die Methode Object.freeze(object) verwenden, um das Objekt in ein eingefrorenes Objekt zu ändern.

var person={name : 'tony'};
Objekt.einfrieren(Person);
Person.Alter=12;
Alarm (Person.Alter);//aufheben

person.name löschen;
Alarm (Person.Name);//Tony

Person.Name = "Jack";
Alarm (Person.Name);//Tony

Verwenden Sie die Methode Object.isFrozen(), um festzustellen, ob ein Objekt eingefroren ist. Da eingefrorene Objekte sowohl nicht erweiterbare als auch versiegelte Objekte sind, verwenden Sie isExtensible()
und Object.istExtensible() geben beim Erkennen eingefrorener Objekte jeweils „false“ und „true“ zurück.

var person = {name:'tom'};
alert(Object.isExtensible(person));///true, erweiterbar alert(Object.isSealed(person));////false, unverschlüsselt alert(Object.isFrozen(person));////false, unverschlüsselt Object.seal(person);
alert(Object.isExtensible(person)); ///false, nicht erweiterbar alert(Object.isSealed(person)); ////true, bereits verschlüsselt alert(Object.isFrozen(person)); ////true, bereits eingefroren

Oben finden Sie den detaillierten Inhalt des Anwendungsbeispiels für manipulationssichere JavaScript-Objekte. Weitere Informationen zu manipulationssicheren JavaScript-Objekten finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Analyse der Methode von JavaScript zum Erstellen manipulationssicherer Objekte
  • Detaillierte Erläuterung der Javascript-Manipulationsschutzobjektinstanz

<<:  Erläuterung verschiedener Möglichkeiten zum Ausführen von Tomcat unter Linux

>>:  Tutorial zur Installation und Konfiguration der entpackten Version von MySql unter Windows 10

Artikel empfehlen

XHTML-Erste-Schritte-Tutorial: XHTML-Tags

Einführung in XHTML-Tags <br />Vielleicht is...

Nodejs-Plugin und Nutzungsübersicht

Die Betriebsumgebung dieses Tutorials: Windows 7-...

Allgemeiner Leitfaden zur Sicherheitskonfiguration von Linux/CentOS-Servern

Linux ist ein offenes System. Im Internet sind vi...

Schritte zur Annotation von Metadeklarationen

Schritte zur Annotation von Metadeklarationen: 1. ...

Verwendung und Demonstration von ref in Vue

Ref-Definition: Wird verwendet, um Referenzinform...

So installieren Sie Grafana und fügen Influxdb-Überwachung unter Linux hinzu

Installieren Sie Grafana. Die offizielle Website ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL Server 5.7.20

Dieser Artikel zeichnet die Installations- und Ko...

So verbergen Sie die Grenze/Trennlinie zwischen Zellen in einer Tabelle

Nur den oberen Rand anzeigen <table frame=above...

Wie MySQL Milliarden von Datenverkehr unterstützt

Inhaltsverzeichnis 1 Master-Slave-Lese-/Schreibtr...

Best Practices-Handbuch für partitionierte MySQL-Tabellen

Vorwort: Partitionierung ist ein Tabellenentwurfs...