2016-04-05 17 views
-3
function getValue() { 
    console.log(1); 
    return 2; 
}; 

for (let i = 0; i < 1000; i++) { 
    getValue(); 
} 

これは1000回印刷されますが、ここではループの最後にその2回だけ戻されます。どうして?私のforループはなぜ値を1回だけ返しますか?

+2

あなたはそれが一度だけ返っているとはどのように言っているのですか? –

+2

あなたが求めていることははっきりしません。 getValue()の戻り値は何もしません。このループが行う唯一のことは、ログ '1'を何千回も繰り返すことです。あなたは何か他のことをするように言わなかった。 –

+0

私のために1000回働いています:http://i.imgur.com/uc7WL9I.png –

答えて

1

これは一度も実行されていません。ほとんどの場合、あなたが見ている何本ある:

enter image description here

"1000" を参照してください?つまり、「1」が1000回出力されたことになります。あなたのjavascriptコンソールは単にスペースを節約しようとしています。あなたの質問は、なぜそれが1000回だけ 『2』 『1』と言っています」である場合

enter image description here

:あなたは毎回違う何かに番号を変更する場合は、メッセージのユニークなインスタンスが表示されます一度に "答えが非常に簡単です。あなたは関数を実行しているに過ぎず戻り値を出力しないので、の最後にの戻り値があります。 2も同様に印刷する場合は、console.log(getValue());を使用してください。

「なぜ私は最後の呼び出しの結果を望んでいますか?」

このようなものは素晴らしいですので:

enter image description here

+0

私の質問は2回だけです。それは何度も。 はい、10回実行しますが、戻り値は1回だけです。 –

+0

@Autif 'getValue'を印刷することは決してないからです。なぜあなたはそれが印刷することを決して言わないものを印刷したいのですか? '2'(最後の戻り値だけでなく)を出力したい場合は' console.log(getValue()) 'を使います。 – h2ooooooo

+0

@Autif彼の説明の男を参照してください。 –

0

は、多分私はあなたが何を意味するか持っている....

あなたは1000年の1、2よりを見て、なぜあなたは不思議に思います1つだけを参照してください2?

あなたの関数は実際には2回1000回返しますが、コードは何もしません。「失われています」とコンソールには、getValue関数の1000番目の2番目の戻り値が出力されます。

あなたはループの後、新たなリターンを追加する場合、あなたは2を見ないであろうと、あなたは、この新しい戻り値が表示されます、このような:

function getValue() { 
    console.log(1); 
    return 2; 
}; 

for (let i = 0; i < 1000; i++) { 
    getValue(); 
}; 
var x=function(){ 
    return "return value string, that you see only once in the console"} 
x(); 
x(); 

あなたが見ることができるように、我々は(Xを呼び出します)関数を2回呼び出すが、返される文字列はコンソールで1回しか表示されない。

関連する問題