js 解釋型 執行過程 函式型別 a=1和var a=1
阿新 • • 發佈:2021-02-02
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
- 解釋執行