我有以下代碼:的Javascript數量不工作
var num = 67;
if(num >= 0 && num <= 100000) {
console.log("This shouldn't run");
}
理論上這個代碼片段應該運行,但是當我運行這個JavaScript片段它打印「這不應該跑」到控制檯。
我不知道爲什麼,這是行不通的,它應該跳過代碼,因爲num
是介於0和100000
任何想法,這是怎麼回事?
我有以下代碼:的Javascript數量不工作
var num = 67;
if(num >= 0 && num <= 100000) {
console.log("This shouldn't run");
}
理論上這個代碼片段應該運行,但是當我運行這個JavaScript片段它打印「這不應該跑」到控制檯。
我不知道爲什麼,這是行不通的,它應該跳過代碼,因爲num
是介於0和100000
任何想法,這是怎麼回事?
那麼,你的條件從字面上檢查num
是否大於或等於零且小於或等於100000
。 67
就是這種情況,所以條件語句被執行。
如果你想檢查是否num
是而不是在範圍內,你可以例如否定的條件:
var num = 67;
if(!(num >= 0 && num <= 100000)) {
console.log("This shouldn't run");
}
該代碼工作正常。 if語句正確執行(打印的消息只是令人困惑)。
67大於或等於零,67小於或等於100000,因此if語句的條件爲真。既然是這樣,它將執行後面的語句塊(即console.log)。
您的代碼完全按預期工作。打破,如果條件成獨立的部分,如果它很容易看出,即
我想你的意思是你的代碼是...
var num = 67;
if(num <= 0 || num >= 100000) {
console.log("This shouldn't run");
}
很確定這不是他的意思,因爲這種情況永遠不會評價爲真。 – Timo
好點,今天早上我需要醒來...... –
它的工作原理...有什麼問題? – Alexis
您的號碼_is_大於0且小於100000. – Turnip
*由於num介於0和100000之間,因此應該跳過該代碼。*不適用於該代碼,否。 –