(1)for循环语句求10的阶乘

for (var num1 = 1,sum1=1; num1 <= 10; num1++) {

    sum1 *= num1;

}

console.log(sum1);

(2)while循环语句求10的阶乘

var num2 = 1;

var sum2 = 1;

while (num2 <= 10) {

    sum2 *= num2;

    num2++;

}

console.log(sum2);

(3)do-while循环语句求10的阶乘

var num3 = 1, sum3 = 1;

do {

    sum3 *= num3;

    num3++;

} while (num3 <= 10);

console.log(sum3);

(4)第一种递归函数求10的阶乘

// 1、先判断n是不是小于等于1的数(可以用if else来判断)

// 2、else:return n*(n-1)

function a(num4) {

    if (num4 <= 1) {

        return 1;

    } else {

        return num4*arguments.callee(num4 - 1);

    }

}

console.log(a(10));

(5)第二种递归函数求10的阶乘

var sum5 = 1;

var num5 = 1;

var add = function(){

    sum5 *= num5;

    num5++;

    if (num5 <= 10) {

        arguments.callee();

    } else {

        console.log(sum5);

    }

}

add();

最终结果:10!=3628800

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐