Die Umfangs- und Umfangskette von JavaScript sind der schmerzhafteste Teil meines Lernens, weil ich viel Zeit damit verbracht habe, viele technische Dokumente zu lesen, es aber nicht verstehen konnte. Ich wusste grob, was es bedeutete, aber ich konnte immer noch nicht sagen, warum.
Durch meine umfangreichen Test- und Lesen technischen Dokumente habe ich das folgende Verständnis zusammengefasst. Obwohl es nicht sehr technisch ist, kann ich es wirklich verstehen.
1. JavaScript ist nur in global und lokal unterteilt, und es gibt keine verschiedenen Modifikatoren für diese Hintergrundsprachen. Wenn Sie VAR in einer Funktion nicht verwenden, ist es global. wie folgt:
<script type = "text/javaScript"> varname = "c#"; // global window.name = "java"; // global varglage = function () {alert (name); name = "javaScript"; // global var name = "js"; // Lokale Warnung (Name); } () alert (name); </script>Der obige Code repräsentiert global alle auf dieselbe Variable, und die folgende Definition ersetzt die obige. In Bezug auf die drei Warnungen, nämlich unterfind, JS und JavaScript. Dies ist der Umfang, der eine Rolle spielt.
2. Die Scope -Kette beginnt von Level 0 und ist nacheinander nach unten angeordnet. Der sogenannte nach unten nach unten gerichtete Ablauf bezieht sich auf die Anordnung von Kindern. Wenn Sie nach Variablen suchen, suchen Sie zuerst aus derselben Ebene nach ihnen und suchen Sie dann nach der übergeordneten Ebene.
Im obigen Beispiel,
Das erste, was auftaucht, ist der erste Alarm in der Sprachmethode. Wenn das globale Fenster 0 ist, dann ist im Beispiel var name = "js" 1. Der erste Alarm findet sich in 1. Wenn es nicht gefunden werden kann, suchen Sie es in 0. Aus diesem Fall wurde festgestellt
Das zweite Popup ist der zweite Alarm in der Sprachmethode, und er wird in 1 danach suchen, das Innere der Methode. Er fand den Namen und zugewiesen JS, also ist das Popup JS
Das dritte Popup ist der Alarm unten. Da der globale Name innerhalb der Methode neu zugewiesen wurde, taucht JavaScript auf.
Fügen Sie dann den nächsten Link hinzu, wir über eine Methode in der Sprache, wie folgt:
<scriptType = "text/javascript"> varname = "javaScript"; // global window.name = "javascript"; // global varglage = function () {alert (name); name = "javaScript"; // global varname = "js"; // Lokale Warnung (Name); var lovelanguage = function () {alert (name); } (); } () alert (name); </script>Zu diesem Zeitpunkt taucht die Warnung in Lovelanguage mit JS auf, da er den Namen in der Sprachebene findet, was der Name in der Sprache ist. . .
Das obige ist der gesamte Inhalt des JavaScript-Bereichs und der Umfangskette (Muss für Anfänger), die Ihnen vom Herausgeber zu Ihnen gebracht wurden. Ich hoffe, jeder wird mehr als das Haus zu Hause unterstützen.