- 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 輸出選手最后得分
推薦閱讀
- Dynamics 365 for Finance and Operations Development Cookbook(Fourth Edition)
- Java多線程編程實戰指南:設計模式篇(第2版)
- Visual Basic程序設計教程
- OpenCV for Secret Agents
- 深度學習:算法入門與Keras編程實踐
- Learn React with TypeScript 3
- ExtJS高級程序設計
- 從零開始學Android開發
- IPython Interactive Computing and Visualization Cookbook
- Mastering Apache Camel
- Clojure Web Development Essentials
- Mastering Python
- ASP.NET本質論
- Mastering Data Analysis with R
- OpenStack Sahara Essentials