[译]Javascript中的递归函数

本文翻译youtube上的up主kudvenkat的javascript tutorial播放单

源地址在此:

https://www.youtube.com/watch?v=PMsVM7rjupU&list=PL6n9fhu94yhUA99nOsJkKXBqokT3MBK0b

递归是在所有编程语言中都是用的一种编程概念,包括我们的Javascript.

什么是递归函数?

递归函数就是在函数中使用其自身的函数

当我们书写递归函数的时候,必须要加入一个绝对的break条件,否则则会极易制造出一个无线循环

例子:不用递归来计算数字的阶乘

function factorial(n) 
{
    if (n == 0 || n == 1) 
    {
        return 1;
    }
    var result = n;
    while (n > 1) 
    {
        result = result * (n - 1)
        n = n - 1;
    }
    return result;
}

document.write(factorial(5));

Output : 120

例子:用递归来计算一个数字的阶乘

function factorial(n) 
{
    if (n == 0 || n == 1) 
    {
        return 1;
    }
    return n * factorial(n - 1);
}

document.write(factorial(5));

Output : 120

原文地址:https://www.cnblogs.com/otakuhan/p/7792287.html