-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 に答える