Heim >Web-Frontend >Front-End-Fragen und Antworten >Wozu dient der Javascript-Block-Level-Bereich?

Wozu dient der Javascript-Block-Level-Bereich?

青灯夜游
青灯夜游Original
2022-01-18 12:03:422964Durchsuche

Die Rolle des Bereichs auf Blockebene: Namenskonflikte lösen, die durch zu viele globale Variablen und Funktionen verursacht werden. JavaScript verschließt die Augen vor wiederholten Deklarationen, was zu falschen Ausführungsergebnissen führt. Der Bereich auf Blockebene kann dieses Problem lösen, sodass jeder Entwickler seine eigenen Variablen verwenden kann, ohne sich Sorgen machen zu müssen, dass der globale Bereich durcheinander gebracht wird.

Wozu dient der Javascript-Block-Level-Bereich?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.

Was ist der Bereich auf Blockebene?

Jeder Satz von Anweisungen in einem Paar geschweifter Klammern ({ und }) gehört zu einem Block. Alle darin definierten Variablen sind außerhalb des Codeblocks unsichtbar, z. B. for, while, if

und JavaScript hat keinen Gültigkeitsbereich auf Blockebene (vor der Veröffentlichung des es6-Standards hatte JavaScript keinen Gültigkeitsbereich auf Blockebene), d. h. die Definition einer Variablen im JavaScript-Codeblock kann weiterhin außerhalb des Codeblocks verwendet werden. Verwenden Sie diese Variable , zum Beispiel:

<script type="text/javascript">  
   var i=1;  
     if(i==1){  
        var b=2;  
     }  
   alert(b);//输出2  

   function outputNumbers(count){
       for(vari=0;i<count;i++){
           alert(i);
       }
           alert(i); //计数
    } 
</script>

In Sprachen wie Java und C++ wird die Variable i nur im Anweisungsblock der for-Schleife definiert. Sobald die Schleife endet, wird die Variable i zerstört. Aber in JavaScript ist die Variable i im aktiven Objekt von outputNumbers() definiert, sodass ab dem Zeitpunkt ihrer Definition überall innerhalb der Funktion auf sie zugegriffen werden kann.

Warum sollten wir den Blockbereich in JavaScript implementieren und wofür wird er verwendet?

Der Bereich auf Blockebene kann Namenskonflikte lösen, die durch zu viele globale Variablen und Funktionen verursacht werden, da JavaScript bei wiederholten Deklarationen ein Auge zudrückt (allerdings führt es in nachfolgenden Deklarationen eine Variableninitialisierung durch), was zu falschen Ausführungsergebnissen und Ihnen führt Es wird wahrscheinlich viel Aufwand erfordern, diesen Fehler zu erkennen.

In einer großen Anwendung, die von vielen Entwicklern geschrieben wurde, ermöglicht die Verwendung privater Bereiche jedem Entwickler, seine eigenen Variablen zu verwenden, ohne sich Sorgen machen zu müssen, dass der globale Bereich durcheinander gebracht wird.

So implementieren Sie den Bereich auf Blockebene in JavaScript

Obwohl es in js keinen Bereich auf Blockebene gibt, können Abschlüsse/anonyme Funktionen verwendet werden, um den Bereich auf Blockebene zu imitieren.

Die Syntax einer anonymen Funktion im Bereich auf Blockebene (oft als privater Bereich bezeichnet) lautet wie folgt:

(function(){

  //这里是块级作用域

})();

Der obige Code definiert eine anonyme Funktion und ruft sie sofort auf. Das Einschließen einer Funktionsdeklaration in ein Klammerpaar zeigt an, dass es sich tatsächlich um einen Funktionsausdruck handelt. Ein weiteres darauf folgendes Klammerpaar ruft diese Funktion sofort auf.

Ein Beispiel für die Verwendung anonymer Funktionen zur Implementierung des Bereichs auf Blockebene in JavaScript

function outputNumbers(count){
   (function(){
      for(var i=0;i<count;i++){
          alert(i);
         }
        })();
    alert(i); //导致错误!
   }

Im Beispiel werden alle in der anonymen Funktion definierten Variablen am Ende der Ausführung zerstört. Daher kann die Variable i nur innerhalb der Schleife verwendet werden und wird nach der Verwendung zerstört. Auf die Variablenanzahl kann im privaten Bereich zugegriffen werden, da es sich bei dieser anonymen Funktion um einen Abschluss handelt, der auf alle Variablen im enthaltenden Bereich zugreifen kann.

Wann können Sie den privaten Bereich verwenden

Egal wo Sie sich befinden, solange Sie vorübergehend einige Variablen benötigen, können Sie den privaten Bereich verwenden

[Verwandte Empfehlungen: Javascript-Lern-Tutorial]

Das obige ist der detaillierte Inhalt vonWozu dient der Javascript-Block-Level-Bereich?. 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