1

変数から while ループの積を取得しようとしています。

var firstOne = 1;
var timesBy = 0;
var result1 = function()
{
  while (timesBy < 10) {
firstOne * timesBy;
timesBy = timesBy +1; 
}
    };
console.log(result1);

私のコンソールは [Function] をログに記録するだけです。これは、result1 を取得するように要求したので理にかなっていますが、もちろん、関数内の while ループの結果が必要でした。簡単なことはわかっていますが、まだ始めたばかりです。ありがとう

4

2 に答える 2

3

関数から値を返し、関数自体を呼び出す必要があります。

var firstOne = 1;
var timesBy = 0;
var result1 = function () {
    while (timesBy < 10) {
        firstOne * timesBy; // does nothing, but I left it regardless.
        timesBy = timesBy + 1;
    }
    return timesBy; // returns the variable back to the calling-context
};
console.log(result1, result1());
//                    ^-- calls the function

JS フィドルのデモ

この関数の意図した結果に関するコメントの更新により、次のようになります。

var firstOne = 1;
var result1 = function () {
    for (var i = 1; i < 11; i++){
        firstOne = firstOne * i;
    }
    return firstOne;
};
console.log(result1());

JS フィドルのデモ

于 2013-10-27T23:34:35.627 に答える
1

あなたは近かった:

var firstOne = 1;
var timesBy = 0;
var result1 = function () {
    while (timesBy < 10) {
        timesBy++;
        firstOne = firstOne * timesBy;
    }
    return firstOne;
};
alert(result1());

フィドル

于 2013-10-27T23:52:44.430 に答える