2016-12-06 32 views
0

我有以下代碼:的Javascript數量不工作

var num = 67; 
if(num >= 0 && num <= 100000) { 
    console.log("This shouldn't run"); 
} 

理論上這個代碼片段應該運行,但是當我運行這個JavaScript片段它打印「這不應該跑」到控制檯。

我不知道爲什麼,這是行不通的,它應該跳過代碼,因爲num是介於0和100000

任何想法,這是怎麼回事?

+0

它的工作原理...有什麼問題? – Alexis

+2

您的號碼_is_大於0且小於100000. – Turnip

+2

*由於num介於0和100000之間,因此應該跳過該代碼。*不適用於該代碼,否。 –

回答

0

那麼,你的條件從字面上檢查num是否大於或等於零且小於或等於10000067就是這種情況,所以條件語句被執行。

如果你想檢查是否num而不是在範圍內,你可以例如否定的條件

var num = 67; 
if(!(num >= 0 && num <= 100000)) { 
    console.log("This shouldn't run"); 
} 
-1

該代碼工作正常。 if語句正確執行(打印的消息只是令人困惑)。

67大於或等於零,67小於或等於100000,因此if語句的條件爲真。既然是這樣,它將執行後面的語句塊(即console.log)。

1

您的代碼完全按預期工作。打破,如果條件成獨立的部分,如果它很容易看出,即

  • 是NUM> = 0:是的,67是大於或等於零
  • 是NUM < = 100000:是的, 67小於或等於100,000

我想你的意思是你的代碼是...

var num = 67; 
if(num <= 0 || num >= 100000) { 
    console.log("This shouldn't run"); 
} 
+1

很確定這不是他的意思,因爲這種情況永遠不會評價爲真。 – Timo

+0

好點,今天早上我需要醒來...... –