1. 程式人生 > 其它 >js 解釋型 執行過程 函式型別 a=1和var a=1

js 解釋型 執行過程 函式型別 a=1和var a=1

js是解釋型語言:編譯一行,執行一行。

函式型別

由於執行過程中預編譯時,兩種型別載入情況不同,所以
宣告式函式可先使用,再宣告【預編譯時載入】
賦值式函式須先宣告,再使用【預編譯時func=undefined】

  • 宣告式函式:function func(){};
  • 賦值式函式:var func=function(){};

a=1和var a=1

	//window作用域下
	a=1;//==window.a=1
	var a=1;//在window作用域宣告變數a
	
	alert(a);a=1;//a未宣告報錯
	alert(a);var a=1;//輸出undefined

執行過程

對於js檔案和一段段的<script>,在每個檔案或每段執行前進行該區域內程式碼的:

  • 語法分析
    • 是否有語法錯誤
  • 預編譯
    • 載入宣告式函式
    • 宣告所有var變數為undefined(包括賦值式函式)
      var a=1;//預編譯時a為undefined
      var func = function(){};//預編譯時func為undefined
  • 解釋執行