2016-12-20 5 views
-2

私は次のコードを持っている:do、whileループで最後の番号が2回表示されるのはなぜですか?

var a = 0; 
 
    
 
    do { 
 
     console.log(a); 
 
     a++; 
 
    } while (a < 10);

そして、私は何が起こっているかのより良い理解を得るためにそれで遊んでいたと私はこれが二回最後の9番を書き込むことに気づいを。誰も私にこれを説明できますか?

非常に高く評価されています。

+2

実行、それを使ってみて、あなたが表示されます場合、この関数は

like-任意のものを返さないので。最後の "9"はあなたのスクリプトの "結果"です。 – Fif

+0

https://jsfiddle.net/wazw9z7a/ – Nagaraju

+0

デベロッパーコンソールや他の種類のREPLシェルでこれを実行していますか? – Andy

答えて

1

その作業は完全に細かく、結果も完璧です。最後に表示された数字は、「コンソールは、そこで実行されたコードで実行された最後の式の値も表示します。 これは式が返すものです。ループにbreakステートメントがある場合、戻り値は定義されません。コンソール値だけが表示されます。

また、関数内にexpを置くと、この戻り値は表示されません。あなたたいのチェックが適切にconsole.logせずにこの

var fun=function(){var a = 0; 

do { 
    console.log(a); 
    a++; 
} while (a < 10);} 
fun() 
+0

は答えを – Viplock

+0

よりずっと良く更新しました。 –

+0

ありがとう、すばらしい説明! –

関連する問題