Heim >Web-Frontend >js-Tutorial >Ausführliche Erläuterung der Funktionen und Nebenwirkungen der with-Anweisung in JavaScript

Ausführliche Erläuterung der Funktionen und Nebenwirkungen der with-Anweisung in JavaScript

伊谢尔伦
伊谢尔伦Original
2017-07-25 14:05:511571Durchsuche

Der Zweck der Definition der with-Anweisung besteht hauptsächlich darin, die Arbeit beim mehrmaligen Schreiben desselben Objekts zu vereinfachen.

Die with-Anweisung fügt das Objekt dann an den Anfang der Gültigkeitsbereichskette hinzu Führt die Anweisung aus und stellt schließlich den ursprünglichen Zustand der Bereichskette wieder her.

with(object){
  statement;
}

Funktion

Wird normalerweise verwendet, wenn das Objekt Die Verschachtelungsebene ist sehr tief und enthält Anweisungen zur Vereinfachung des Codeschreibens. Im Wesentlichen wird ein neuer lexikalischer Bereich

erstellt, indem die Referenz eines Objekts als Bereich und die Eigenschaften des Objekts als Bezeichner im Bereich behandelt werden. In clientseitigem JavaScript können Sie Ausdrücke wie verwenden Folgendes, um auf Elemente in einem HTML-Formular zuzugreifen

document.forms[0].address.value

Wenn dieser Ausdruck mehrmals im Code vorkommt, können Sie die with-Anweisung verwenden, um das Formularobjekt zur obersten Ebene der Bereichskette hinzuzufügen

with(document.forms[0]){
name.value = '';
address.value = '';
emai.value = '';
}

Diese Methode reduziert den Tippaufwand erheblich und es ist nicht erforderlich, jedem Attributnamen das Präfix document.forms[0] hinzuzufügen. Dieses Objekt wird vorübergehend in die Bereichskette eingebunden. Wenn JavaScript einen Bezeichner wie eine Adresse analysieren muss, sucht es automatisch nach

in diesem Objekt. [Hinweis] Die with-Anweisung bietet eine Möglichkeit zum Lesen Eine Verknüpfung für die Eigenschaften eines Objekts, die jedoch nicht die Eigenschaften eines Objekts erstellt

Wenn Objekt o ein Attribut x hat, weist der folgende Code diesem Attribut den Wert 1

var o = {x:0};
with(o) x = 1;
console.log(o.x);//1
Wenn das Attribut x nicht in o definiert ist, ist der folgende Code genau derselbe wie der Code x=1, ohne die with-Anweisung zu verwenden. Dies liegt daran, dass eine LHS-Abfrage für die Variable ausgeführt wird. Die Optimierung erschwert auch das Debuggen des Codes und arbeitet langsamer als Code ohne Verwendung der with-Anweisung

var o = {};
with(o) x = 1;
console.log(o.x);//undefined
console.log(x);//1
Darüber hinaus, wenn die with-Anweisung vorhanden ist Bei unsachgemäßer Verwendung kann es zu einer Verschmutzung des globalen Bereichs kommen

Strikter Modus


Im strikten Modus ist die Verwendung der with-Anweisung verboten

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Funktionen und Nebenwirkungen der with-Anweisung in JavaScript. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn