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