这些陈述如何相同?
var test ='one'
if( test == 'car' || 'one' ){
console.log('spo')
}
和
if( test == 'car' || test == 'one' ){
console.log('spo')
}
答案 0 :(得分:6)
不,他们不等同。
if( test == 'car' || 'one' ){
console.log('spo')
}
相当于
if( test == 'car' || 'one' != ''){
console.log('spo')
}
答案 1 :(得分:2)
没有。第一次测试将永远通过。
如果||
的左侧是假的,它将返回右侧。因此将返回右侧('one'
)。这是真的,所以测试将通过。
答案 2 :(得分:1)
没有。他们不是。
在第一个条件中,test == 'car' || 'one'
与 (test == 'car') || 'one'
相同,总是评估为truthy-value(即相等的结果或“one”)。
后者条件仅在测试为“car”或“one”时产生true,在所有其他情况下为false。
尝试使用失败的测试值,例如“hello”作为反例。
答案 3 :(得分:0)