Manipulationssicheres Javascript-ObjektDieses 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 ObjekteObjekte 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 ObjekteDie 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 ObjekteDie 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() 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:
|
<<: 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
Aktuell besteht die Anforderung, dass beim Klicke...
Vorwort Die Lösung für das Problem, dass Elemente...
Inhaltsverzeichnis Frage Reproduktion Implizite K...
1. Clustered-Index Tabellendaten werden in der Re...
Die Leistung Ihrer Website oder Ihres Dienstes hä...
Ich werde meinen ersten Versuch mit vue3.0 aufzei...
Beheben Sie das Problem, dass unter Windows 10 ke...
Geschäftsszenario: Abfragen von Tabellen in versc...
Es gibt viele Möglichkeiten, eine globale ID zu g...
Dies ist ein sehr einfacher, reiner CSS3-Hintergr...
Inhaltsverzeichnis 1. Was ist Blockbereich? 2. Wa...
Leider trat der Fehler MYSQL_DATA_TRUNCATED währe...
In diesem Artikelbeispiel wird der spezifische Co...
Seit der Geburt von vue3 ist viel Zeit vergangen ...
Kürzlich bestand der Kunde eines Projekts darauf,...