2017-10-02 5 views
-2

JavaScriptの出力に問題がありますか?または私のプログラムですか?

var hungerLevel = 7.2; 
 
if (hungerLevel > 7) 
 
{ 
 
    console.log("Time to eat"); 
 
} 
 
else(hungerLevel <7) 
 
{ 
 
    console.log("Let's eat later"); 
 
}

これらのプログラムの出力は

です:

さんはその後

を食べよう食べる時間 - >なぜ、それらの両方が印刷されているの?

+0
+2

実際にはエラーはありません。 –

+0

私が与えたものではありませんが、elseとすれば、正しい出力が得られます。なぜそれが起こりますか? – Therebelentropy

答えて

1

声明:

(7 hungerLevel <)

は、命令(それはブール文です)のように解釈されます。だからあなたのコード内で2つの部分があり、1つ目はあれば、他の

var hungerLevel = 7.2; 
 
if (hungerLevel > 7) { 
 
    console.log("Time to eat"); /* instruction inside the if*/ 
 
} else 
 
    (hungerLevel < 7) /* instruction inside the else*/

最後の部分は、単にログを印刷している場合とは何の関係もありません。

{ 
 
    console.log("Let's eat later"); 
 
}

次の2つの出力を持っている理由だからです。我々は単純化した場合、あなたのコードは、そのようなものです:それは出力として文の両方を与えて

var hungerLevel = 7.2; 
 
if (hungerLevel > 7) { 
 
    console.log("Time to eat"); /* instruction inside the if*/ 
 
} else 
 
    hungerLevel < 7 /* instruction inside the else*/ 
 

 

 

 

 
console.log("Let's eat later");

+0

これは、最初のステートメントが実際にブール値であることを示していることを意味します。つまり、そのログがログであるため、2番目のステートメントが表示されます。 – Therebelentropy

+0

2番目のものは独立していますが、{}はありません...hungerLevelの値がどんな値であっても、常に印刷されます。 –

+0

本当にありがとうございます! – Therebelentropy

関連する問題