Heim  >  Artikel  >  Web-Frontend  >  „Vorkompilierungsphase“ und „Ausführungsphase“ während der Ausführung von JavaScript. Process_Javascript-Kenntnisse

„Vorkompilierungsphase“ und „Ausführungsphase“ während der Ausführung von JavaScript. Process_Javascript-Kenntnisse

WBOY
WBOYOriginal
2016-05-16 15:25:262068Durchsuche

Im Vergleich zu anderen Sprachen ist Javascript eine schwach typisierte Sprache. In anderen Sprachen wie Java erfordert die Ausführung des Programms eine Kompilierungsphase, und in Javascript gibt es eine ähnliche „Vorkompilierungsphase“. -Kompilierungsphase). Die Kompilierung basiert auf Codeblöcken3f1c4e4b6b16bbbd69b2ee476dc4f83a2cacc6d41bbb37262a98f745aa00fbf0, d Seien Sie hilfreich beim Schreiben von JS-Code. Zusammenfassung der Ideen

Lassen Sie uns zunächst etwas über die beiden Deklarationsmethoden in JavaScript lernen, var und function. Erstere deklariert Variablen und letztere deklariert Methoden

Bei der Vorkompilierung erstellt Javascript zwei Verarbeitungslösungen für diese beiden Deklarationen

<script>
  var a = "1";    //声明变量a
 function b(){    //声明方法b
    alert();
  }
  var c = function(){ //声明变量c
    alert();
  }
</script> 

Im obigen Codeblock sind a und c Variablenzuweisungen und b ist eine Funktionsdeklaration. Wenn der obige Code ausgeführt wird, tritt er zunächst in die Vorkompilierungsphase ein. Durch die Zuweisung von a und c zu Variablen wird a geöffnet Speicherplatz im Speicher und Verweist auf den Variablennamen, und der zugewiesene Wert ist undefiniert

Für die Funktionsdeklaration wird auch der Speicherplatz zugewiesen, aber das zugewiesene Objekt weist die deklarierte Funktion dem Funktionsnamen zu

Vorkompilierungsphase: (PS: Unabhängig von der Reihenfolge, in der Variablen und Funktionen im Code deklariert werden, werden in der Vorkompilierungsphase zuerst Variablen und dann Funktionen deklariert)

<script>
    var a = undefined;
    var c = undefined;         var b = function(){
      alert();
    } </script> 

Ausführungsphase:

<script>
    a = "1";
    c = function(){
      alert();
    }
</script> 

Gesamtausführungsschritte:

<script>
    var a = undefined;
    var c = undefined;
    
    var b = function(){
      alert();
    }
    a = "1";
    c = function(){
      alert();
    }
</script> 

Titel:

<script>
    var a = "1";
    function b(){
      alert(a);
      var a = "2";
    }
    b();
</script> 

ps: Vorkompilierung von Javascript

1. Definieren Sie zuerst Variablen und dann Funktionen vor

2. Die Vorkompilierung von Variablen deklariert sie nur, initialisiert sie nicht und initialisiert sie während der Ausführung

3. Die durch die Funktionsanweisung definierte Funktion deklariert nicht nur den Funktionsnamen, sondern verarbeitet auch den Funktionskörper

4. Anonyme Funktionen werden nicht vorkompiliert

function f(){      // 声明函数f  
return 1; } alert(f());       // 返回1 
var f = function(){    // 定义匿名函数f  
return 2; } alert(f());       // 返回2 

Die Variable f wird zuerst vordefiniert, und dann überschreibt die Funktion f() mit demselben Namen die Variable f, sodass 1 zum ersten Mal ausgegeben wird. Vorkompilierung der Variablen

var f = function(){    // 定义匿名函数f  
return 1; } 
alert(f());       // 返回1 
function f(){      // 声明函数f  
return 2; } 
alert(f());      // 返回1 

Zuerst wird die Variable f vordefiniert, dann überschreibt die gleichnamige Funktion f() die Variable f.

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