0

私はJSの初心者です。console.log() について少し知っています。私が知っているように、私たちはconsole.log()何かを印刷するために使用します。ここで私はコードの問題に直面していますが、それを取得できません。問題は以下に示されています

   var understand = true;
   while( understand )
    {
      console.log("I'm learning while loops!");
      understand = false;
    }

私はconsole.log()を1回だけ使用しますが、ここでは2つの出力が表示されます:

1. I'm learning while loops!
2. false

私の質問は、なぜそれが印刷されるのかfalseです。印刷にステートメントを使用しないfalseので、どのように表示され、なぜ..?? 問題を解決するために私を助けるように要求します。ありがとうございました

4

4 に答える 4

4

I assume you're trying out that code actually in the console? If so you'll notice that as you enter individual statements the console prints whatever the expression evaluates to.

understand = false both sets the value of that variable and evaluates to false.

I further assume you've entered all of that into the console at once, in which case the console is going to show the result of any of your console.log() statements (of course) and the value of the last statement in the code block. Note that if you change it such that the last line executed does something else you will get something other than false output. E.g., the following:

var understand = true;
while( understand )
{
   console.log("I'm learning while loops!");
   understand = false;
}
var x = 1;

...outputs:

I'm learning while loops!
undefined

...because the var x = 1; statement is undefined if taken as an expression.

于 2013-06-28T08:37:23.853 に答える
1

When you run this code in your console, it'll probably output false. JS consoles generally output the value of an assignment statement, like understand = false, will be followed by false in the console.
Once you run this code from a script file, it won't log false

于 2013-06-28T08:37:19.903 に答える
0

nnnnnn の答えは真実に近いはずですがvar x = true、コードの最後に追加してみましたが、それでもfalseChrome に出力されます。

代わりにx = true後ろに(なしでvar)置くとtrueと出力されるので、変数のスコープにも関係していると思います。しかし、よくわかりません。この質問は議論する価値があり、投票する価値はないと思います。

于 2013-06-28T08:36:43.057 に答える
0

Nothing wrong with the code. I guess your executing the code in Developer Console. If yes, Developer Console will print the return value of the code your executing. In your case, it prints the value of understand.

于 2013-06-28T08:37:41.797 に答える