簡體   English   中英

javascript使用參數從內部調用函數表達式本身

[英]javascript calling a function expression itself from inside it with arguments

請有人告訴我這里的結果 384 怎么樣。 據我說:被調用的函數值大於 2 所以,結果應該是 8 * fac(8 - 2) 64-2 ans: 62 我明白“fac”發生了什么,請解釋一下。

let factoria = function fac(n){
    return n < 2 ? 1 : n * fac(n - 2);
}

console.log(factoria(8));
// result 384

這一行n * fac(n - 2)遞歸地使用新值調用自身。 起初它會用8 * fac(8 - 2)調用,所以現在fac會用 6 再次調用,然后再用 4 調用,依此類推

 let factoria = function fac(n) { console.log(n) return n < 2 ? 1 : n * fac(n - 2); // recursive function } console.log(factoria(8));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM