这些陈述如何等效?
var test = '一个'
if( test == 'car' || 'one' ){
console.log('spo')
}
和
if( test == 'car' || test == 'one' ){
console.log('spo')
}
这些陈述如何等效?
var test = '一个'
if( test == 'car' || 'one' ){
console.log('spo')
}
和
if( test == 'car' || test == 'one' ){
console.log('spo')
}
不,它们不相等。
if( test == 'car' || 'one' ){
console.log('spo')
}
相当于
if( test == 'car' || 'one' != ''){
console.log('spo')
}
不会。第一次测试总会通过。
如果左侧||
是假的,它将返回右侧。'one'
因此将返回右侧 ( )。这是真的,所以测试会通过。
不,他们不是。
在第一个条件中,与test == 'car' || 'one'
总是 计算为真值(即相等或“一”的结果)相同。(test == 'car') || 'one'
后一个条件仅在 test 为“car”或“one”时产生 true,而在所有其他情况下产生 false。
也可以尝试使用失败的测试值,例如“hello”作为反例。
不。像Javascript这样的语言接受'one'是真的。所以第一个测试总会通过。第二个具有错误的能力,因为我们不知道测试可能是什么。