函數的定義
在javascript中函數是一段可以被執行或調用任意次數的JavasScript代碼,在數據類型中屬於"function"。函數也擁有屬性和方法,因此函數也是對象。
函數的創建方法
創建函數可以通過函數聲明、函數表達式以及構造函數三種方法來實現。
在Javascript中函數定義函數聲明或函數表達式由關鍵字function開始,其后跟隨這些組成部分:
1、函數名稱標識符。函數名稱是函數聲明語句必須的部分。它的用途就像變量的名字,新定義的函數對象會賦值給這個變量。對函數定義表達式來說,這個名字是可以選的:如果存在,該名字只存在於函數體中,並指代函數對象本身。
2、一對圓括號()。其中包含由0個或多個用逗號隔開的標識符組成的列表,這些標識符是函數的參數名稱,它們就像函數體中的局部變量一樣。
3、一對花括號{}。其中包含0條或多條JavaScript語句。這些語句構成了函數體:一旦調用函數,就會執行這些語句。
一、函數聲明
在javascript中定義一個函數,該函數的關鍵字function在整個語句塊首部,並且存在函數名稱標識符的函數代碼稱為函數聲明。
函數聲明代碼示例:
//函數聲明示例 function fDeclaration(){ console.log("這是函數聲明示例"); }
二、函數表達式
函數表達式:
在javascript中定義一個函數,該函數整體作為變量的賦值語句或者調用執行的語句而存在,該函數語句塊稱為函數表達式。
//函數表達式示例 var f = function fExpression() { console.log("這是函數表達式示例"); } //這也是函數表達式,函數為匿名函數 var fAnonymous = function () { console.log("這也是函數表達式示例"); } //這還是函數表達式,函數為立即執行函數 (function () { console.log("這還是函數表達式示例"); }());
三、構造函數
通過new關鍵字來調用的函數稱為構造函數。常見的構造函數示例:
var f=new Function("x","y","return x+y;");
這行代碼創建的一個新函數與通過下面代碼定義的函數幾乎等價:
var f=function(x,y){ return x+y; }
參考資料:
《JavaScript權威指南》函數的定義_P166
《JavaScript權威指南》Function()構造函數_P192