函數,就是一個一系列JavaScript語句的集合,這是為了完成某一個會重復使用的特定功能。在需要該功能的時候,直接調用函數即可,而不必每次都編寫一大堆重復的代碼。並且在需要修改該功能的時候,也只要修改和維護這一個函數即可。
總之,將語句集合成函數,好處就是方便代碼重用。並且,一個好的函數名,可以讓人一眼就知道這個函數實現的是什麼功能,方便維護。
函數的使用只需要2步:
(1)定義函數;
(2)調用函數;
在JavaScript中,使用函數前,必須用function關鍵字來定義函數。
函數常用方式有2種:
(1)不指定函數名的函數;
(2)指定函數名的函數;
語法:
function(參數1,參數2,….,參數n) { //函數體語句 }
說明:
定義函數必須使用function關鍵字。
“指定函數名的函數”是JavaScript中使用最廣泛的方法,反而“不指定函數名的函數”用得比較少。
語法:
function 函數名(參數1,參數2,….,參數n) { //函數體語句 return 表達式; }
說明:
定義函數必須使用function關鍵字來定義。
函數名必須是唯一的,盡量通俗易懂,並且跟你定義的代碼有關。
函數可以使用return語句將某個值返回,也可以沒有返回值。
參數是可選的,可以不帶參數,也可以帶多個參數。如果是多個參數的話,參數之間要用英文逗號隔開。
常用的函數調用方式有4種:
(1)簡單調用;
(2)在表達式中調用;
(3)在事件響應中調用;
(4)通過鏈接調用;
JavaScript特殊函數有3種:
(1)嵌套函數;
(2)遞歸函數;
(3)內置函數;
嵌套函數,顧名思義,就是在一個函數的內部定義另外一個函數。不過在內部定義的函數只能在內部調用,如果在外部調用,就會出錯。
遞歸函數用於讓一個函數從其內部調用其本身。不過需要注意的是,如果遞歸函數處理不當,就會使程序陷入“死循環”。為了防止“死循環”的出現,可以設計一個做自加運算的變量,用於記錄函數自身調用的次數,如果次數太多就讓它自動退出循環。
遞歸函數對於初學者來說可能比較難以理解,如果實在不會,可以直接忽略它。因為在JavaScript中是比較少用到遞歸函數的,遞歸函數往往都是在其他編程語言中用得比較多。
JavaScript中有2種函數:一種是用戶自定義函數,另外一種是JavaScript語言內部已經定義好了,可以直接供我們調用的函數(也就是內置函數)。
內置函數由於已經在JavaScript語言內部定義好了的,也就是我們不需要自己定義就能用了。這樣極大方便了我們的編程。
關於JavaScript內置函數,我們在下一章詳細為大家講解。