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