函數的定義
所謂“函數”,是有返回值的對象或對象的方法。
函數的種類
常見的函數有:構造函數,如 Array(),能構造一個數組;全局函數,即全局對象里的方法;自定義函數;等等。
自定義函數
定義函數用以下語句:
function 函數名([參數集]) {其中,用在 function 之后和函數結尾的大括號是不能省去的,就算整個函數只有一句。
...
[return[ <值>];]
...
}
函數名與變量名有一樣的起名規定,也就是只包含字母數字下劃線、字母排頭、不能與保留字重復等。
參數集可有可無,但括號就一定要有。
參數 是函數外部向函數內部傳遞信息的橋梁,例如,想叫一個函數返回 3 的立方,你就要讓函數知道“3”這個數值,這時候就要有一個變量來接收數值,這種變量叫做參數。
參數集是一個或多個用逗號分隔開來的參數的集合,如:a, b, c。
函數的內部有一至多行語句,這些語句并不會立即執行,而只當有其它程序調用它時才執行。這些語句中可能包含“return”語句。在執行一個函數的時候,碰到 return 語句,函數立刻停止執行,并返回到調用它的程序中。如果“return”后帶有<值>,則退出函數的同時返回該值。
在函數的內部,參數可以直接當作變量來使用,并可以用 var 語句來新建一些變量,但是這些變量都不能被函數外部的過程調用。要使函數內部的信息能被外部調用,要么使用“return”返回值,要么使用全局變量。
全局變量 在 Script 的“根部”(非函數內部)的“var”語句所定義的變量就是全局變量,它能在整個過程的任意地方被調用、更改。
例
這個例子建立了一個叫“addAll”的函數,它有 3 個參數:a, b, c,作用是返回三個數相加的結果。在函數外部,利用“var total = addAll(3, 4, 5);”接收函數的返回值。function addAll(a, b, c) {
return a + b + c;
}
var total = addAll(3, 4, 5);
更多的時候,函數是沒有返回值的,這種函數在一些比較強調嚴格的語言中是叫做“過程”的,例如 Basic 類語言的“Sub”、Pascal 語言的“procedure”。
屬性
arguments 一個數組,反映外部程序調用函數時指定的參數。用法:直接在函數內部調用“arguments”。