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
CSS spielt auf einer Webseite eine sehr wichtige ...
Inhaltsverzeichnis Probleme, die Redux Toolkit lö...
In diesem Artikel wird die MySQL-Vorkompilierungs...
Zelle -- der Inhalt der Tabelle Zellenrand (Tabell...
Zweck: Unter Linux kann das Serverprogramm aus ve...
Vue implementiert die Palastgitterrotationslotter...
NERDTree ist ein Dateisystembrowser für Vim. Mit ...
Inhaltsverzeichnis 1. Nachfrage 2. Datenbankdesig...
So konfigurieren Sie benutzerdefinierte Pfadalias...
Das Flex-Layout ist zweifellos einfach und leicht...
Als ich MySQL zum ersten Mal auf meiner virtuelle...
1. Gestricheltes Feld, wenn die Abbrechen-Schaltfl...
Kopieren Sie den folgenden Code in den Codebereich...
Grundlegendes dreispaltiges Layout .Container{ An...
Inhaltsverzeichnis Vorwort Code-Implementierung I...