1

私は再びCodeAcademyで作業しており、whileループを継続して使用しています。しかし、私はスクラッチパッドで少し作業していて、何か奇妙なことに気づきました。このテキストのすぐ下にあるこのコード:

var counter = 1;

while(counter <= 10){
    console.log(counter);
    counter = counter + 1;
}

結果としてこれを与えます。なぜ11が下部にポップアップするのですか。そこにあるべきではありません。それは0を数えていますか。それともこれについてもう少し苦い説明がありますか。助けていただければ幸いです、ありがとう:P

結果:

1
2
3
4
5
6
7
8
9
10
==> 11 
4

4 に答える 4

2

これがコンソールの動作です。場合によっては、最後の式の結果が返されます

var counter = 1, t="loop";

while(counter <= 10){
    console.log(counter);
    counter = counter + 1;
    t = "loop end";
}

あなたに与える

1
2
3
4
5
6
7
8
9
10
"loop end"
于 2013-03-06T08:25:41.287 に答える
0

私はFirefoxでテストしていて、OPの内容をログに記録しています。これが私の見解です。

var counter = 1;

1 is it <= 10 yes, print add 1
2 is it <= 10 yes, print add 1
3 is it <= 10 yes, print add 1
4 is it <= 10 yes, print add 1
5 is it <= 10 yes, print add 1
6 is it <= 10 yes, print add 1
7 is it <= 10 yes, print add 1
8 is it <= 10 yes, print add 1
9 is it <= 10 yes, print add 1
10 is it <= 10 yes, print add 1
11  <-- prints it. 

whileループは、「後」またはループ内で宣言されているのではなく、渡されたときに「カウンター」を認識します。逆参照はしません。それで、それはまだ再び通過しなければなりません。

before: 1

after: 2

before: 2

after: 3

before: 3

after: 4

before: 4

after: 5

before: 5

after: 6

before: 6

after: 7

before: 7

after: 8

before: 8

after: 9

before: 9

after: 10

before: 10

after: 11
于 2013-03-06T08:08:16.293 に答える
0

これを行う必要があります。

var counter = 0;

while(counter < 10){
    console.log(counter);
    counter = counter + 1;
}

while(counter <= 10)は、counterが10以下の場合、ループを実行することを示します。そのため、11番も出力されます。

于 2016-02-19T01:40:42.547 に答える
-1

条件'counter<= 10'を使用すると、countが10に等しい場合に、フローがループの本体に入ることができます。本体のカウントをインクリメントして、最終的なカウントが11になるようにします。

条件を「counter<10」に変更すると、結果は10になります。

これにより、結果は1〜10になり、カウントは10のままになります。

var counter = 0;

while(counter < 10){
    counter = counter + 1;
    console.log(counter);
}
于 2013-03-06T07:47:34.657 に答える