函数基本概念
一、定義
1、概念
函數是一個可以重復使用的程序模塊,該程序模塊可以完成一個特定的功能
2、聲明
function 函數名(【參數】]){
函數體語句
}
3、函數的調用:
(1)帶返回值的函數(函數體中有return語句的函數):賦予給變量或打印輸出
關于函數的返回值:
a、函數是否要返回值由具體的需求決定
b、函數返回值通過return語句來完成。在函數中一旦執行了return語句,當前函數就結束運行
(2)無返回值的函數調用:直接使用? ? ? 函數名( )
二、函數的參數:
1、定義:函數在運行時需要外部的數據才能實現具體的功能。這個外部的數據就是參數
2、形參:形式參數,沒有實際值,只是一個占位符
3、實參:實在參數。表示的是一個實際值
4、參數傳遞方向是單向的,實參--->形參
5、函數參數的數量:在javascript中允許函數的形參與實參不同
(1)、實參的數量多于形參的數量:函數可以正常運行,多余的實參被忽略
(2)、實參的數量少于形參的數量:多出的形參是一個已聲明未賦值的變量,它的值是undefined
三、arguments對象的使用
1、是內置對象:已經定好的,用戶只要使用即可
2、作用:調用函數時,函數的實參都保存在arguments對象中
注意:每個函數內部都有一個arguments對象,本質是一個數組,保存的是調用函數時傳遞的實參
四、函數表達式:
1、定義
將定義的函數賦給一個變量,通過變量完成函數的調用和參數傳遞(即函數是匿名的)
語法:
var / let / const 變量名 = function(【參數】){
函數體語句
}
2、調用:變量名(【參數】)
五、函數的遞歸調用(重點、難點)*
1、遞歸調用:函數自己調用自己(即在函數的函數體語句中調用自己)
2、遞歸算法:
(1)用遞歸方式解決問題的前提
? ? ? ? ?a、問題可以進行分解,分解得到的新問題的解法與原問題的解法相同
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?8! --> 8 * 7! --->7?*?6!-->.......-->2 * 1!
? ? ? ? ?b、問題的分解過程必須有明確的結束條件
(2)遞歸的過程
? ? ? ? ?a、自上而下分解問題:得到最簡單的問題的解
? ? ? ? ?b、自下而上回溯得到原問題的解
3、代碼實現:
//遞歸解決1-100的和function sum(n){if(n == 1){return 1}else{return n + sum(n-1)}}let t = sum(100)console.log(`1-100的和是:`,t)總結
- 上一篇: 未转变者服务器.id大全,Unturne
- 下一篇: EXCEL的VLOOKUP与COLUMN