函數(shù)是由事件驅(qū)動(dòng)的或者當(dāng)它被調(diào)動(dòng)是執(zhí)行的可重復(fù)使用的代碼塊。
javaScript函數(shù)的語(yǔ)法
函數(shù)就是包裹在花括號(hào)中的代碼塊污秆,前面使用關(guān)鍵詞function:
例:
function functionname() {
執(zhí)行代碼
}
當(dāng)調(diào)用函數(shù)時(shí)定血,會(huì)執(zhí)行函數(shù)內(nèi)的代碼毅弧。
可以在某事件發(fā)生時(shí)直接調(diào)用函數(shù)(比如用戶點(diǎn)擊按鈕時(shí))睦番,并且可由javaScript在任何位置進(jìn)行調(diào)用欢际。
javaScript對(duì)大小敏感母市,關(guān)鍵詞function必須是小寫(xiě)的,并且必須以函數(shù)名稱相同的大小寫(xiě)來(lái)調(diào)用函數(shù)损趋。
調(diào)用帶參數(shù)的函數(shù)
在調(diào)用函數(shù)時(shí)患久,可以向它傳遞值,這些值被稱為參數(shù)浑槽。
這些參數(shù)可以在函數(shù)中使用蒋失。
可以發(fā)送任意多的參數(shù),由逗號(hào)(,)分隔桐玻。
myFunction(argument1,argument2)
當(dāng)聲明函數(shù)時(shí)篙挽,請(qǐng)把參數(shù)作為變量來(lái)聲明:
function myFunction(var1,var2){
代碼
}
變量和參數(shù)必須以一致的順序出現(xiàn)镊靴,第一個(gè)變量就是第一個(gè)被傳遞的參數(shù)的給定的值嫉髓,以此類推观腊。
帶有返回值的函數(shù)
有時(shí)邑闲,我們會(huì)希望函數(shù)將值返回調(diào)用它的地方算行。
通過(guò)使用return語(yǔ)句就可以實(shí)現(xiàn)。
在使用return語(yǔ)句時(shí)苫耸,函數(shù)會(huì)停止執(zhí)行州邢,并返回指定的值。
語(yǔ)法
function myFunction(){
var x = 5;
return x;
}
上面函數(shù)會(huì)返回值5褪子;
注:整個(gè)javaScript并不會(huì)停止執(zhí)行量淌,僅僅是函數(shù),javaScript將繼續(xù)執(zhí)行代碼嫌褪,從調(diào)用函數(shù)的地方呀枢。函數(shù)調(diào)用將返回值取代。
var myVar = myFunction();
myVar變量的值是5笼痛,也就是函數(shù)“myFunction()”的值裙秋。
即使不把它保存為變量,也可以使用返回值:
document.getElementById("demo").innerHTML=myFunction();
“demo”元素的innerHTML 將成為5缨伊,也就是函數(shù)“myFunction()”所返回的值摘刑。
局部變量
在javaScript函數(shù)內(nèi)部聲明的變量(使用var)是局部變量,所以只能在函數(shù)內(nèi)部訪問(wèn)它(該變量的作用域是局部的)刻坊。
可以在不同的函數(shù)中使用名稱相同的局部變量枷恕,因?yàn)橹挥新暶鬟^(guò)該變量的函數(shù)才能識(shí)別出該變量。
只要函數(shù)運(yùn)行完畢谭胚,本地變量就會(huì)刪除徐块。
全局javaScript變量
在函數(shù)外部聲明的變量是全局變量,網(wǎng)頁(yè)上的所有腳本和函數(shù)都能訪問(wèn)它灾而。
javaScript變量的生存期
javaScript變量的生命期從它們被聲明的時(shí)間開(kāi)始胡控。
局部變量會(huì)在函數(shù)運(yùn)行以后被刪除。
全局變量會(huì)在頁(yè)面關(guān)閉后被刪除绰疤。
向未聲明的javaScript變量分配值
如果把值賦給還沒(méi)有聲明的變量铜犬,該變量將被自動(dòng)作為全局變量聲明。
例:
carname = “Volvo”轻庆;