JS中函式的兩種定義方法
阿新 • • 發佈:2019-01-03
定義函式
在JavaScript中,定義函式的方式如下:
function abs(x) {
if (x >= 0) {
return x;
} else {
return -x;
}
}
上述abs()
函式的定義如下:
function
指出這是一個函式定義;abs
是函式的名稱;(x)
括號內列出函式的引數,多個引數以,
分隔;{ ... }
之間的程式碼是函式體,可以包含若干語句,甚至可以沒有任何語句。
請注意,函式體內部的語句在執行時,一旦執行到return
時,函式就執行完畢,並將結果返回。因此,函式內部通過條件判斷和迴圈可以實現非常複雜的邏輯。
如果沒有return
語句,函式執行完畢後也會返回結果,只是結果為undefined
。
由於JavaScript的函式也是一個物件,上述定義的abs()
函式實際上是一個函式物件,而函式名abs
可以視為指向該函式的變數。
因此,第二種定義函式的方式如下:
var abs = function (x) {
if (x >= 0) {
return x;
} else {
return -x;
}
};
在這種方式下,function (x) { ... }
是一個匿名函式,它沒有函式名。但是,這個匿名函式賦值給了變數abs
,所以,通過變數abs
上述兩種定義完全等價,注意第二種方式按照完整語法需要在函式體末尾加一個;
,表示賦值語句結束。
摘自:廖雪峰的官方網站