所謂函式就是在程式中封裝好的語句。
1、定義:有三種定義方式,宣告式定義【函式關鍵字】、表示式【函式字面量】與建構函式
宣告式:
function 函式名(引數1,引數2...)
表示式:
let sum = function()
建構函式:
function
add(name,age)
let add =
newadd
('li',20
);
ps:定義函式時,所用函式中的語句是不執行的;定義函式時,形參前面不需要型別,如var、let,因為在函式內部會隱式定義形參中需要的變數。
呼叫格式:函式名() 如:sum()
函式的作用:
從上面我們可以看到,雖然實參的個數會多於形參的個數,表示形參與實參個數不一樣,並不會報錯,它會按照順序乙個乙個賦值給形參,若形參多於實參,沒被賦值的預設為undefined。 那麼我們如果想要獲取 3 的值,該怎麼獲得呢? 其實很簡單,js中的函式,在傳遞引數的時候,內部會構建乙個arguments陣列,用於儲存從函式實參中傳遞過來的值,該陣列中的值會與形參列表相對應,構成對映關係,修改一邊的值,另一邊也會修改。 如: arguments[0]=>a , arguments[1]=>b , arguments[2] => 3
arguments[1] = 5; //執行該語句後,arguments[1]與b的值均為 5
arguments 對應實參列表,arguments.length //實參列表的個數 ,該例子為3
定義函式時,函式的引數,對應形參列表 ,如test.length // 形參列表的個數,該例子為2
3、return
return使用的場景:用於終止函式;提供函式返回值。
遞迴:呼叫自己本身的函式;
遞迴總結出來,就兩點:找規律;找出口
找規律:相當於數學中的數學公式,通過一定的規律,使用公式表示。
找出口:結束條件,相當於最明顯、已知的條件。
使用遞迴最普遍的例子:階乘 與 斐波那契數列
1、階乘:
首先以階乘為例:容易得出,通過規律,可將求階乘用公式表示: f(n) = n *(n-1)! , 0!=1, 1!=1
然後我們可以得出 0!=1,1!=1,兩者都是很明顯的乙個已知條件,最後我們便可以得出下面:
function factorial(n)
return n * factorial(n-1);
}
2、斐波那契數列:
通過規律得出公式 :f(n) = f(n-1) + f(n-2) n>=3 f(1) = 1; f(2) = 1;
所以可以得出:
function fib(n)
return fib(n-1)+fib(n-2);
}
js中遞迴函式
遞迴函式 概念 遞迴函式就是函式中呼叫自己的函式。舉幾個例子 1 遞迴求階乘 function fun n return n fun n 1 console.log fun 3 6 console.log fun 5 1202 遞迴求兩個數最大公約數 function com a,b var yu ...
JS中遞迴函式 JS函式相關及遞迴函式的使用
js中的遞迴函式詳解 舉個例子,1 2 3 4 5 用遞迴函式來完成 function fn n else console.log fn 5 我們把fn 5 解剖開,得出,不滿足n 1,所以執行的是 else裡的語句 return n fn n 1 現在我們看else裡面的執行,最後是return ...
js函式遞迴
一 遞迴函式概念 自己呼叫自己。二 知識說明 function func func 三 函式 變數 用遞迴來求5的階乘 function func n return n func n 1 console.log func 5 三 函式 函式 斐波拉契題 兔子生兔子題目 從出生後第3個月起每個月都生一...