使用Javascript进行推理

deB*_*lis 0 javascript for-loop

我用javascript做了一个阶乘程序,或者至少我以为我做了.当我没有使它成为一个功能时它起作用,但是当我这样做时它没有,我在哪里出错了?

function factorialize(num) {
    var text = 1;
    var i;
    for (i = 1; i < num + 1; i++) {
      text *= i;
}}

factorialize(5)
Run Code Online (Sandbox Code Playgroud)

以上这个不起作用,我也没有得到任何错误信息,当我应该得到120.

num = 5
var text = 1;
var i;
x = num;
for (i = 1; i < num + 1; i++) {
    text *= i;
}
Run Code Online (Sandbox Code Playgroud)

但这输出120,所以我的初始代码出错了?

Mar*_*nde 5

你错过了里面的return语句function.

return语句结束函数执行并指定要返回给函数调用者的值.

function factorialize(num) {
    var text = 1;
    var i;
    for (i = 1; i < num + 1; i++) {
      text *= i;
    }
    return text;
}

console.log(factorialize(5));
Run Code Online (Sandbox Code Playgroud)