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
。我认为可能会有一种更短的方式来编写多重比较的条件(尽管循环可以正常工作),但这显然不是解决这个问题的方法。
幕后发生了什么,或者更确切地说,它是如何被解释的,以便在第二种情况下它总是返回 true?我声明的值都不是1
or true
,所以这绝对不是问题。