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<🎜 zu >
var o = {x:0}; with(o) x = 1; console.log(o.x);//1
var o = {}; with(o) x = 1; console.log(o.x);//undefined console.log(x);//1
Strikter Modus
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!