1. 程式人生 > >JavaScript中函式宣告與函式表示式區別

JavaScript中函式宣告與函式表示式區別

眾所周知,JavaScript中宣告函式可以用函式宣告形式,也可以用函式表示式形式。本文介紹一下兩者區別。

函式宣告:

alert(sum(10,10));
		function sum(num1,num2){
			return num1 +num2;
		}

以上程式碼正確執行。因為在程式碼開始執行之前,解析器就已經通過一個名為函式宣告提升的過程,讀取並經函式宣告新增到執行環境中。所以,即使宣告函式的程式碼在呼叫它的程式碼後,JavaScript引擎也能把函式宣告提升到頂部。

函式表示式:

		alert(sum(10,10));
		var sum = function(num1,num2){
			return num1 +num2;
		}

以上程式碼執行錯誤。因為在執行到函式所在的語句之前,變數sum中不會儲存對函式的引用。