JavaScriptのプリコンパイル解説

4290 ワード

プリコンパイル
JSは解釈型言語で、実行中は順次実行しますが、ブロックを分けて先にコンパイルしてから実行します.
プリコンパイルを理解する前に、二つの概念を明確にする必要がある.
                     (    )	    (    )
変数の割り当て(昇格宣言)
正常にはjsは3つのプロセスを経験します.1.言語解析------>文法的エラーと低レベルエラーがあるかどうかを確認します.プリコンパイル------>状況グローバル変数:GOオブジェクトの局部オブジェクトを作成します.AOオブジェクトを作成して、現在の作用領域でvar宣言の変数割り当て値をアップグレードします.前作用領域で宣言したすべての関数をアップグレードし、function 3を割り当てます.->各行のコード解析を実行すると、リフティングされた変数に再割り当てされます.
<script>
console.log(a)
var num = 10;
console.log(num)
var a = 20

foo()

function foo(){
console.log(acc)
var acc = 20
console.log(acc)
}
</script>

	   <script>         
	            GO  (  ,        )
	            var
	   var            undefined
	GO = {
		num:undefined
		a:undefined
	}
	         undefined  
	            !!                
	   console.log(a)
	   a          unedfined
	  console.log()                
	    undefined

	           
	GO{
	num:10;
	a:undefined
	}
	               
	console.log(num)         GO     num  10
     AO              
 function foo() { 
           GO      AO    
具体的な流れはGOと同じですが、ここではスコープにつながります.
 	   AO      GO           
 	AO{
 	acc:undefined
	}
          
 console.log(acc);
                 undefined
      var acc = 20    
   
 AO{
	acc:20
 }
               AO    acc
   20 
 console.log(acc);

//                  AO