首頁(yè)技術(shù)文章正文

JavaScript函數(shù)介紹:5分鐘了解JavaScript[web前端培訓(xùn)]

更新時(shí)間:2020-04-08 來(lái)源:黑馬程序員 瀏覽量:

什么是函數(shù)?

把一段相對(duì)獨(dú)立的具有特定功能的代碼塊封裝起來(lái),形成一個(gè)獨(dú)立實(shí)體,就是函數(shù),起個(gè)名字(函數(shù)名),在后續(xù)開(kāi)發(fā)中可以反復(fù)調(diào)用。函數(shù)的作用就是封裝一段代碼,將來(lái)可以重復(fù)使用。推薦了解黑馬程序員web前端課程。


為什么要使用函數(shù)?為了解決代碼的重用!減少代碼量。


函數(shù)的分類

系統(tǒng)內(nèi)置函數(shù) 和 程序員自定義函數(shù)


定義函數(shù)

function 函數(shù)名([參數(shù)列表]){

    函數(shù)體

}


結(jié)構(gòu)說(shuō)明:


·function它是定義函數(shù)的關(guān)鍵字 不可以省略。

·函數(shù)名它的命名規(guī)則與變量名是一樣的

(1)可以使用大小寫(xiě)英文字母、下劃線(_)、美元符號(hào)($)、數(shù)字組成

(2)不能使用數(shù)字開(kāi)頭

(3)不能使用JS中的關(guān)鍵字和保留字作為函數(shù)名

(4)如果函數(shù)是由多個(gè)單詞組成的,那么可以使用下劃線連接法和駝峰法

(5)嚴(yán)格區(qū)分大小寫(xiě)


·函數(shù)名后面緊跟著一對(duì)小括號(hào) 這一對(duì)小括號(hào)不能省略

·小括號(hào)里面可能有參數(shù),我們將其稱之為形參

·小括號(hào)后面緊跟著一對(duì)大括號(hào) 這一對(duì)大括號(hào)不能省略

·大括號(hào)里面是函數(shù)體

JavaScript函數(shù) (1).jpg


注意:函數(shù)定義了一定要調(diào)用函數(shù)

調(diào)用函數(shù)


JavaScript函數(shù) (2).png


格式:

    函數(shù)名([實(shí)參列表])


注意:在定義函數(shù)時(shí)如果有形參  反過(guò)來(lái)說(shuō) 在調(diào)用的時(shí)候也要有實(shí)參 但是這個(gè)不是絕對(duì)的!


同名函數(shù)后面的會(huì)將前面的覆蓋

1586325516130_JavaScript函數(shù) (3).png


函數(shù)一定是先定義后再調(diào)用  



函數(shù)的參數(shù)

函數(shù)的參數(shù)分為兩種:

形式參數(shù)和實(shí)際參數(shù)

形式參數(shù):在定義函數(shù)的時(shí)候的參數(shù)就稱之為形式參數(shù),簡(jiǎn)稱“形參”。在定義函數(shù)的時(shí)候 在函數(shù)名的后面的小括號(hào)里面給的變量名。

實(shí)際參數(shù):在調(diào)用函數(shù)的時(shí)候的參數(shù)就稱之為實(shí)際參數(shù),簡(jiǎn)稱“實(shí)參”。

1586325580175_JavaScript函數(shù) (4).png


在一個(gè)函數(shù)中,參數(shù)的多少是根據(jù)功能來(lái)定義的!

1586326720656_JavaScript函數(shù)01.png


使用函數(shù)來(lái)動(dòng)態(tài)的輸出M行N列的表格

1586326735441_JavaScript函數(shù)02.png


return關(guān)鍵字

一般在函數(shù)體里面不會(huì)有輸出語(yǔ)句,只會(huì)有一個(gè)return關(guān)鍵字,將我們要輸出的內(nèi)容返回給函數(shù)的調(diào)用者。

·return在英文中表示“返回”的意思

·return關(guān)鍵字是在函數(shù)體里面使用。


它在函數(shù)體使用有兩層含義:

  1. 當(dāng)函數(shù)體里面遇到了return關(guān)鍵字以后,當(dāng)前的這個(gè)函數(shù)就不會(huì)再往下進(jìn)行執(zhí)行了。



    JavaScript函數(shù) (5).png


2.它會(huì)向函數(shù)的調(diào)用者返回?cái)?shù)據(jù)(重點(diǎn))返回值 


格式:return數(shù)據(jù);

在調(diào)用函數(shù)時(shí)可以定義一個(gè)變量要接收到這個(gè)函數(shù)的返回值

JavaScript函數(shù) (6).png


注意:

我們?cè)谝院蟮墓ぷ髦?,函?shù)體里面盡量不要有輸出語(yǔ)句(document.write alert console.log ),盡量的使用return關(guān)鍵字將數(shù)據(jù)返回給函數(shù)的調(diào)用者。


特別強(qiáng)調(diào):

·在一個(gè)函數(shù)里面,return關(guān)鍵字可以有多個(gè),但是return只會(huì)執(zhí)行一次;

·return關(guān)鍵字它只能返回一個(gè)數(shù)據(jù),如果需要返回多個(gè)數(shù)據(jù),我們可以將多個(gè)數(shù)據(jù)使用數(shù)組的方式來(lái)保存,然后再將數(shù)組返回。


匿名函數(shù)

什么是匿名函數(shù)?

沒(méi)有名字的函數(shù) 稱之為匿名函數(shù)!注意:匿名函數(shù)在JS中使用最多。


匿名函數(shù)也是需要調(diào)用的!

將匿名函數(shù)賦值給變量或者是事件

a)將匿名函數(shù)賦值給變量,然后通過(guò)變量名加上小括號(hào)來(lái)調(diào)用匿名函數(shù)

1586326582463_JavaScript函數(shù)03.png


b)將匿名函數(shù)賦值給事件     *****

將匿名函數(shù)賦值給事件,那么匿名函數(shù)什么時(shí)候才會(huì)執(zhí)行?它要等到事件觸發(fā)了以后,匿名函數(shù)才會(huì)執(zhí)行。

1586326595370_JavaScript函數(shù)04.png


變量的作用域

什么是變量的作用域?

指變量在什么地方可以使用,什么地方不可以使用。

變量作用域的分類

變量作用域分為:全局作用域和局部作用域。

變量的作用域是通過(guò)函數(shù)來(lái)進(jìn)行劃分的。


在函數(shù)外面定義的變量我們將其稱為全局變量,它的作用域是全局的。

全局作用域: 在任何地方都可以訪問(wèn)到的變量就是全局變量,對(duì)應(yīng)全局作用域

局部作用域: 在固定的代碼片段內(nèi)可訪問(wèn)到的變量,最常見(jiàn)的例如函數(shù)內(nèi)部。對(duì)應(yīng)局部作用域(函數(shù)作用域)


問(wèn):是否能夠提升局部變量的作用域呢?將局部變量的作用域提升至全局作用域。在函數(shù)里面定義的變量也能夠在函數(shù)外面訪問(wèn)到。

只需要將函數(shù)里面定義的變量的var關(guān)鍵字給去掉就可以實(shí)現(xiàn)將局部變量的作用域提升至全局作用域。

但是:并不建議直接就var 關(guān)鍵字給省略,我們建議在函數(shù)的外面定義一個(gè)同名的全局變量。

猜你喜歡:

JavaScript引入方式有哪些?


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!