這兩個條件語句在Javascript中有什麼區別?Javascript價值比較解釋
function comparisonTest() {
var value = "A value";
var compare1 = 5;
var compare2 = "String";
var compare3 = false;
if (value == compare1 || value == compare2 || value == compare3) console.write("True");
else console.write("False");
}
這是因爲它應該 - 它返回false,因爲值不匹配。但是,當我改變條件爲以下...
function comparisonTest() {
var value = "A value";
var compare1 = 5;
var compare2 = "String";
var compare3 = false;
if (value == compare1 || compare2 || compare3) console.write("True");
else console.write("False");
}
它總是回報True
。我認爲也許會有更短的方式來編寫多重比較的條件(雖然循環會正常工作),但這顯然不是一種解決方法。
幕後發生了什麼,或者說它是如何被解釋的,以至於在第二種情況下,它總是返回真實?我聲明的所有值都不是1
或true
,所以這絕對不是問題。
這是一個邏輯運算符。你不能那樣做。 – SLaks
這個問題實際上與||相關運算符,而不是相等。 – RobG