javascript 函數(shù)
javascript 函數(shù)是被設(shè)計(jì)為執(zhí)行特定任務(wù)的代碼塊。
javascript 函數(shù)會(huì)在某代碼調(diào)用它時(shí)被執(zhí)行。
1. javascript 函數(shù)語法
javascript 函數(shù)通過 function 關(guān)鍵詞進(jìn)行定義,其后是函數(shù)名和括號(hào) ()。
函數(shù)名可包含字母、數(shù)字、下劃線和美元符號(hào)(規(guī)則與變量名相同)。
圓括號(hào)可包括由逗號(hào)分隔的參數(shù):
(參數(shù) 1, 參數(shù) 2, ...)
由函數(shù)執(zhí)行的代碼被放置在花括號(hào)中:{}
function name(參數(shù) 1, 參數(shù) 2, 參數(shù) 3) { 要執(zhí)行的代碼 }
函數(shù)參數(shù)(function parameters)是在函數(shù)定義中所列的名稱。
函數(shù)參數(shù)(function arguments)是當(dāng)調(diào)用函數(shù)時(shí)由函數(shù)接收的真實(shí)的值。
在函數(shù)中,參數(shù)是局部變量。
在其他編程語言中,函數(shù)近似程序(procedure)或子程序(subroutine)。
范例
function myfunction(p1, p2) {
// 該函數(shù)返回 p1 和 p2 的乘積
return p1 * p2;
}
function myfunction(p1, p2) { // 該函數(shù)返回 p1 和 p2 的乘積 return p1 * p2; }
2. 函數(shù)調(diào)用
函數(shù)中的代碼將在其他代碼調(diào)用該函數(shù)時(shí)執(zhí)行:
- 當(dāng)事件發(fā)生時(shí)(當(dāng)用戶點(diǎn)擊按鈕時(shí))
- 當(dāng) javascript 代碼調(diào)用時(shí)
- 自動(dòng)的(自調(diào)用)
3. 函數(shù)返回
當(dāng) javascript 到達(dá) return 語句,函數(shù)將停止執(zhí)行。
如果函數(shù)被某條語句調(diào)用,javascript 將在調(diào)用語句之后“返回”執(zhí)行代碼。
函數(shù)通常會(huì)計(jì)算出返回值,這個(gè)返回值會(huì)返回給調(diào)用者。
范例
計(jì)算兩個(gè)數(shù)的乘積,并返回結(jié)果:
// 調(diào)用函數(shù),返回值被賦值給 x var x = myfunction(7, 8); function myfunction(a, b) { // 函數(shù)返回 a 和 b 的乘積 return a * b; }
x 的結(jié)果將是:
56
4. 為何使用函數(shù)?
您能夠?qū)Υa進(jìn)行復(fù)用:只要定義一次代碼,就可以多次使用它。
您能夠多次向同一函數(shù)傳遞不同的參數(shù),以產(chǎn)生不同的結(jié)果。
范例
把華氏度轉(zhuǎn)換為攝氏度:
function tocelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } document.getelementbyid("demo").innerhtml = tocelsius(77);
5. () 運(yùn)算符調(diào)用函數(shù)
使用上面的例子,tocelsius 引用的是函數(shù)對(duì)象,而 tocelsius() 引用的是函數(shù)結(jié)果。
范例
訪問沒有 () 的函數(shù)將返回函數(shù)定義:
function tocelsius(fahrenheit) { return (5/9) * (fahrenheit-32); } document.getelementbyid("demo").innerhtml = tocelsius;
6. 用作變量值的函數(shù)
函數(shù)的使用方法與變量一致,在所有類型的公式、賦值和計(jì)算中。
范例
使用變量來存儲(chǔ)函數(shù)的值:
var x = tocelsius(77); var text = "the temperature is " + x + " celsius";
您能夠把函數(shù)當(dāng)做變量值直接使用:
var text = "the temperature is " + tocelsius(77) + " celsius";
7. 局部變量
在 javascript 函數(shù)中聲明的變量,會(huì)成為函數(shù)的局部變量。
局部變量只能在函數(shù)內(nèi)訪問。
范例
// 此處的代碼不能使用 carname function myfunction() { var carname = "volvo"; // code here can use carname } // 此處的代碼可以使用 carname
由于局部變量只能被其函數(shù)識(shí)別,因此可以在不同函數(shù)中使用相同名稱的變量。
局部變量在函數(shù)開始時(shí)創(chuàng)建,在函數(shù)完成時(shí)被刪除。