-1

这是脚本,我不明白为什么它不起作用...

function FirstFactorial(num) {

var lower = num - 1;
var qq = 0;

while (num > 0) {
var qq === num * lower;
num--;
lower--;
}
num === qq;
return num;
}
FirstFactorial(num);
4

2 回答 2

7

=是赋值运算符,===是严格相等运算符

于 2012-06-05T18:20:47.193 回答
4

您对此功能有很多问题,请参阅评论。

function FirstFactorial(num) {
    var lower = num - 1;
    var qq = 0;

    while (num > 0) {
        // here you are shadowing the "qq" variable in the outer scope
        // delete the "var" keyword to fix this
        // also === is an identity operator, i think you wanted assignment (=)
        // so this line becomes: qq = num * lower;
        var qq === num * lower;
        num--;
        lower--;
    }

    // assuming that === was supposed to be = again
    // you can rewrite this as just: return qq;
    num === qq;
    return num;
}

FirstFactorial(num);

即使有这些语法修复,您计算阶乘的逻辑也不正确。

编辑:工作示例(因为我很无聊)http://jsfiddle.net/gU2cz/

于 2012-06-05T19:00:36.137 回答