什么是函數(shù)?
函數(shù)是一組可以隨時(shí)隨地運(yùn)行的語(yǔ)句。
函數(shù)是 ECMAScript 的核心。
函數(shù)是由這樣的方式進(jìn)行聲明的:關(guān)鍵字 function、函數(shù)名、一組參數(shù),以及置于括號(hào)中的待執(zhí)行代碼。
函數(shù)的基本語(yǔ)法是這樣的:
function fu nctionName(arg0, arg1, ... argN){statements}
例如:
function sayHi(sName, sMessage) {
alert("Hello " + sName + sMessage);
}
如何調(diào)用函數(shù)?
函數(shù)可以通過(guò)其名字加上括號(hào)中的參數(shù)進(jìn)行調(diào)用,如果有多個(gè)參數(shù)。
如果您想調(diào)用上例中的那個(gè)函數(shù),可以使用如下的代碼:
sayHi("David", " Nice to meet you!")
調(diào)用上面的函數(shù) sayHi() 會(huì)生成一個(gè)警告窗口。
函數(shù)如何返回值?
函數(shù) sayHi() 未返回值,不過(guò)不必專(zhuān)門(mén)聲明它(像在 Java 中使用 void 那樣)。
即使函數(shù)確實(shí)有值,也不必明確地聲明它。該函數(shù)只需要使用 return 運(yùn)算符后跟要返回的值即可。
function sum(iNum1, iNum2) {
return iNum1 + iNum2;
}
下面的代碼把 sum 函數(shù)返回的值賦予一個(gè)變量:
var iResult = sum(1,1);alert(iResult);//輸出 "2"
另一個(gè)重要概念是,與在 Java 中一樣,函數(shù)在執(zhí)行過(guò) return 語(yǔ)句后立即停止代碼。因此,return 語(yǔ)句后的代碼都不會(huì)被執(zhí)行。
例如,在下面的代碼中,alert 窗口就不會(huì)顯示出來(lái):
function sum(iNum1, iNum2) {
return iNum1 + iNum2;
alert(iNum1 + iNum2);
}
一個(gè)函數(shù)中可以有多個(gè) return 語(yǔ)句,如下所示:
function diff(iNum1, iNum2) {
if (iNum1 > iNum2) {
return iNum1 - iNum2;
} else {