10

関数の一部として実行すると次のコードが機能するのに、Chrome コンソール ウィンドウで単独で実行すると奇妙な結果が生じる理由を誰か説明できますか?

var foo = function() { 
    var x = 1;
    while (x<3) { 
        console.log(x);
        x = x+1;
    }
}

foo(); // This prints 1,2 as expected

しかしwhile、Chrome コンソールで一部だけを直接実行すると、意味をなさない 1,2,3 が得られます (出力の画像を参照してください)。

    var y = 1;
    while (y<3) { 
        console.log(y);
        y = y+1;
    }

    // This prints 1,2,3 in the console

ここに画像の説明を入力

( Chrome/Firefox の console.log には常に undefined という行が追加console.logされます) という結果については、多少似たような質問がありますが、サンプルには関数呼び出しがなく、値が返されないことに注意してください。undefinedwhile

4

2 に答える 2