更新時(shí)間:2019-12-13 來(lái)源:黑馬程序員 瀏覽量:
在Javascript程序中,經(jīng)常會(huì)將一些功能多次重復(fù)操作,這就需要重復(fù)書寫相同的代碼,這樣不僅加重了開發(fā)人員的工作量,而且增加了代碼后期的維護(hù)難度。為此,javascript提供了函數(shù),它可以將程序中煩瑣的代碼模塊化,提高程序的可讀性。下面,將針對(duì)函數(shù)的相關(guān)知識(shí)進(jìn)行講解。
什么函數(shù)?
比如alert()輸出語(yǔ)句就是函數(shù)。其中alert是函數(shù)名稱,小括號(hào)用于接受的參數(shù),例如下面的代碼:
alert(123);
上面的示例代碼表示將數(shù)字123傳入給alert()函數(shù)。函數(shù)執(zhí)行后就會(huì)彈出一個(gè)警告框,并將123顯示出來(lái)。在
JavaScrip中像alert這樣的函數(shù)是瀏覽器內(nèi)核自帶的,不用任何函數(shù)庫(kù)引入就可以直接使用,這樣的函數(shù)也稱“內(nèi)置函數(shù)”。常見的內(nèi)置函數(shù)還有prompt()、parseInt()、confirm()等。
除了直接調(diào)用JavaScrip內(nèi)置函數(shù),用戶還可以自己定義一些函數(shù),用于封裝代碼。在JavaScrip中,使用關(guān)鍵字function來(lái)定義函數(shù),其語(yǔ)法格式如下:
function 函數(shù)名(參數(shù)1, 參數(shù)2……){
函數(shù)體
}
從上述語(yǔ)法格式可以看出,函數(shù)由關(guān)鍵字“ function”、“函數(shù)名”、“參數(shù)”、“函數(shù)體”四部分組成,關(guān)于這四部分的解釋如下。
Function:在聲明函數(shù)時(shí)必須使用的關(guān)鍵字。
函數(shù)名:創(chuàng)建函數(shù)的名稱,函數(shù)名稱是唯一的。
參數(shù):在定義函數(shù)時(shí)使用的參數(shù),目的是用來(lái)接收調(diào)用該函數(shù)時(shí)傳進(jìn)來(lái)的實(shí)際參數(shù),這類參數(shù)稱為“形參”。在定義函數(shù)時(shí)參數(shù)是可選項(xiàng),當(dāng)有多個(gè)參數(shù)時(shí),各參數(shù)用逗號(hào)“,”分隔。
函數(shù)體:函數(shù)定義的主體,專門用于實(shí)現(xiàn)特定的功能。
對(duì)函數(shù)定義的語(yǔ)法格式有所了解后,下面演示定義一個(gè)簡(jiǎn)單的函數(shù)show(),具體示例如下:
function show(){
alert(“輕松學(xué)習(xí)JavaScript”
}
上述代碼定義的show()函數(shù)比較簡(jiǎn)單,函數(shù)中沒(méi)有定義參數(shù),并且函數(shù)體重僅使用alert()語(yǔ)句返回一個(gè)字符串。
JavaScript函數(shù)調(diào)用
當(dāng)函數(shù)定義完成之后,要想在程序中發(fā)揮函數(shù)的作用,必須調(diào)用這個(gè)函數(shù)。函數(shù)的調(diào)用非常簡(jiǎn)單,只需要引用函數(shù)名,并且傳入相應(yīng)的參數(shù)即可。函數(shù)調(diào)用的語(yǔ)法格式如下:
函數(shù)名稱(參數(shù)1,參數(shù)2……)
在上述語(yǔ)法格式中,參數(shù)可以是一個(gè)或者多個(gè)也可以省略。值得一提的是,調(diào)用函數(shù)使用的參數(shù)和定義函數(shù)的參數(shù)不同,調(diào)用的參數(shù)必須具有確定的值,以便把這些傳送給形參,這類參數(shù)稱為“實(shí)參”。
函數(shù)中變量的作用域
函數(shù)中的變量需要先定義后使用,但這并不意味著定義變量后就能隨意使用。變量需要在它的作用范圍內(nèi)才可以使用,這個(gè)作用范圍稱為變量的作用域。在javascript中,根據(jù)作用域不同,變量可分為全局變量和局部變量,對(duì)它們的具體解釋如下。
全局變量:定義的所有函數(shù)之外,作用于整個(gè)程序的變量。
局部變量:定義在行數(shù)體之內(nèi),作用于函數(shù)變量體的變量。
以上我們介紹了JavaScript函數(shù)的基本用法,如果想學(xué)習(xí)更多web前端知識(shí),請(qǐng)關(guān)注黑馬程序員大前端課程。