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

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

更新時間:2020-04-08 來源:黑馬程序員 瀏覽量:

什么是函數(shù)?

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


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


函數(shù)的分類

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


定義函數(shù)

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

    函數(shù)體

}


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


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

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

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

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

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

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

(5)嚴格區(qū)分大小寫


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

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

·小括號后面緊跟著一對大括號 這一對大括號不能省略

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

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


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

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


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


格式:

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


注意:在定義函數(shù)時如果有形參  反過來說 在調(diào)用的時候也要有實參 但是這個不是絕對的!


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

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


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



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

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

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

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

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

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


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

1586326720656_JavaScript函數(shù)01.png


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

1586326735441_JavaScript函數(shù)02.png


return關(guān)鍵字

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

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

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


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

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



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


2.它會向函數(shù)的調(diào)用者返回數(shù)據(jù)(重點)返回值 


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

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

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


注意:

我們在以后的工作中,函數(shù)體里面盡量不要有輸出語句(document.write alert console.log ),盡量的使用return關(guān)鍵字將數(shù)據(jù)返回給函數(shù)的調(diào)用者。


特別強調(diào):

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

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


匿名函數(shù)

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

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


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

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

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

1586326582463_JavaScript函數(shù)03.png


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

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

1586326595370_JavaScript函數(shù)04.png


變量的作用域

什么是變量的作用域?

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

變量作用域的分類

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

變量的作用域是通過函數(shù)來進行劃分的。


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

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

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


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

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

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

猜你喜歡:

JavaScript引入方式有哪些?


分享到:
在線咨詢 我要報名
和我們在線交談!