- JavaScript從入門到精通(微視頻精編版)
- 明日科技
- 766字
- 2020-09-01 15:02:25
4.4 嵌套函數

視頻講解
在JavaScript中允許使用嵌套函數,嵌套函數就是在一個函數的函數體中使用了其他的函數。嵌套函數的使用包括函數的嵌套定義和函數的嵌套調用,下面分別進行介紹。
4.4.1 函數的嵌套定義
函數的嵌套定義就是在函數內部再定義其他的函數。例如,在一個函數內部嵌套定義另一個函數的代碼如下:
01 function outFun(){ //定義外部函數 02 function inFun(x,y){ //定義內部函數 03 alert(x+y); //輸出兩個參數的和 04 } 05 inFun(1,5); //調用內部函數并傳遞參數 06 } 07 outFun(); //調用外部函數
運行結果如圖4.8所示。

圖4.8 輸出兩個參數的和
在上述代碼中定義了一個外部函數outFun(),在該函數的內部又嵌套定義了一個函數inFun(),它的作用是輸出兩個參數的和,最后在外部函數中調用了內部函數。
注意
雖然在JavaScript中允許函數的嵌套定義,但它會使程序的可讀性降低,因此,盡量避免使用這種定義嵌套函數的方式。
4.4.2 函數的嵌套調用
在JavaScript中,允許在一個函數的函數體中對另一個函數進行調用,這就是函數的嵌套調用。例如,在函數b()中對函數a()進行調用,代碼如下:
01 function a(){ //定義函數a() 02 alert("零基礎學JavaScript"); //輸出字符串 03 } 04 function b(){ //定義函數b() 05 a(); //在函數b()中調用函數a() 06 } 07 b(); //調用函數b()
運行結果如圖4.9所示。

圖4.9 函數的嵌套調用并輸出結果
【例4.03】 《我是歌王》的比賽中有3位評委,在選手演唱完畢后,3位評委分別給出分數,將3個分數的平均分作為該選手的最后得分。周星星在演唱完畢后,3位評委給出的分數分別為91分、89分、93分,通過函數的嵌套調用獲取周星星的最后得分。代碼如下:(實例位置:資源包\源碼\04\4.03)
01 <script type="text/javascript"> 02 function getAverage(score1,score2,score3){ //定義含有3個參數的函數 03 var average=(score1+score2+score3)/3; //獲取3個參數的平均值 04 return average; //返回average變量的值 05 } 06 function getResult(score1,score2,score3){ //定義含有3個參數的函數 07 //輸出傳遞的3個參數值 08 document.write("3個評委給出的分數分別為:"+score1+"分、"+score2+"分、"+score3+"分<br>"); 09 var result=getAverage(score1,score2,score3); //調用getAverage()函數 10 document.write("周星星的最后得分為:"+result+"分"); //輸出函數的返回值 11 } 12 getResult(91,89,93); //調用getResult()函數 13 </script>
運行結果如圖4.10所示。

圖4.10 輸出選手最后得分
推薦閱讀
- Expert C++
- LabVIEW Graphical Programming Cookbook
- ASP.NET Core 5.0開發入門與實戰
- 程序員面試筆試寶典
- C#完全自學教程
- Python程序設計(第3版)
- 新編Premiere Pro CC從入門到精通
- Oracle數據庫從入門到運維實戰
- Julia Cookbook
- Kotlin從基礎到實戰
- 匯編語言編程基礎:基于LoongArch
- Java Web應用開發給力起飛
- Xamarin Cross-Platform Development Cookbook
- Functional Python Programming
- Node.js實戰:分布式系統中的后端服務開發