更新時間: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ù)體
注意:函數(shù)定義了一定要調(diào)用函數(shù)
調(diào)用函數(shù)
格式:
函數(shù)名([實參列表])
注意:在定義函數(shù)時如果有形參 反過來說 在調(diào)用的時候也要有實參 但是這個不是絕對的!
同名函數(shù)后面的會將前面的覆蓋
函數(shù)一定是先定義后再調(diào)用
函數(shù)的參數(shù)
函數(shù)的參數(shù)分為兩種:
形式參數(shù)和實際參數(shù)
形式參數(shù):在定義函數(shù)的時候的參數(shù)就稱之為形式參數(shù),簡稱“形參”。在定義函數(shù)的時候 在函數(shù)名的后面的小括號里面給的變量名。
實際參數(shù):在調(diào)用函數(shù)的時候的參數(shù)就稱之為實際參數(shù),簡稱“實參”。
在一個函數(shù)中,參數(shù)的多少是根據(jù)功能來定義的!
使用函數(shù)來動態(tài)的輸出M行N列的表格
return關(guān)鍵字
一般在函數(shù)體里面不會有輸出語句,只會有一個return關(guān)鍵字,將我們要輸出的內(nèi)容返回給函數(shù)的調(diào)用者。
·return在英文中表示“返回”的意思
·return關(guān)鍵字是在函數(shù)體里面使用。
它在函數(shù)體使用有兩層含義:
當(dāng)函數(shù)體里面遇到了return關(guān)鍵字以后,當(dāng)前的這個函數(shù)就不會再往下進行執(zhí)行了。
2.它會向函數(shù)的調(diào)用者返回數(shù)據(jù)(重點)返回值
格式:return數(shù)據(jù);
在調(diào)用函數(shù)時可以定義一個變量要接收到這個函數(shù)的返回值
注意:
我們在以后的工作中,函數(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ù)
b)將匿名函數(shù)賦值給事件 *****
將匿名函數(shù)賦值給事件,那么匿名函數(shù)什么時候才會執(zhí)行?它要等到事件觸發(fā)了以后,匿名函數(shù)才會執(zhí)行。
變量的作用域
什么是變量的作用域?
指變量在什么地方可以使用,什么地方不可以使用。
變量作用域的分類
變量作用域分為:全局作用域和局部作用域。
變量的作用域是通過函數(shù)來進行劃分的。
在函數(shù)外面定義的變量我們將其稱為全局變量,它的作用域是全局的。
全局作用域: 在任何地方都可以訪問到的變量就是全局變量,對應(yīng)全局作用域
局部作用域: 在固定的代碼片段內(nèi)可訪問到的變量,最常見的例如函數(shù)內(nèi)部。對應(yīng)局部作用域(函數(shù)作用域)
問:是否能夠提升局部變量的作用域呢?將局部變量的作用域提升至全局作用域。在函數(shù)里面定義的變量也能夠在函數(shù)外面訪問到。
只需要將函數(shù)里面定義的變量的var關(guān)鍵字給去掉就可以實現(xiàn)將局部變量的作用域提升至全局作用域。
但是:并不建議直接就var 關(guān)鍵字給省略,我們建議在函數(shù)的外面定義一個同名的全局變量。
猜你喜歡: