JavaScript定義函式的兩種方式
阿新 • • 發佈:2019-02-13
定義函式的方式有兩種:一種是函式宣告,另一種就是函式表示式;
1.1 函式宣告
function functionName(arg){ //函式體 }
關於函式宣告,它有一個重要特徵就是函式宣告提升,意思就是在執行程式碼之前會先讀取函式宣告。這就意味著可以把函式放在呼叫它的語句後面。如下所示:
helloworld(); //在程式碼執行之前會先讀取函式宣告 function helloworld(){ console.log("hello world"); }
1.2 函式表示式
var functionName=function(arg){ //函式體 }
這種形式看起來好像是常規的變數賦值語句,即建立一個函式並將它賦值給變數functionName。這種情況下建立的函式叫做匿名函式。因為function關鍵字後面沒有識別符號。
函式表示式與其他表示式一樣,在使用之前必須先賦值;如下面程式碼就會導致錯誤;
helloworld(); //錯誤,還未賦值,函式不存在 var helloworld=function(){ console.log("hello world"); }
有了函式表示式,我們就可以動態給函式表示式賦值了;如下面程式碼:
var helloworld; //宣告 if(condition){ //條件 helloworld=function(){ //賦值 console.log("hello world"); } } else{ helloworld=function(){ //賦值 console.log("你好,世界"); } }