如果结果已经知道,JavaScript跳过语句是否?我之所以问这个,是因为出于某种原因,当结果为 alert('You Lose')
时,我的代码不会console.log(b)
。当结果为 alert('You Win')
时,它确实是console.log。
C
总是等于 true
。
因此,当a = false
不 console.log(b)
时,但是当 a = true
时,它确实会 console.log(b)
为什么?
function example(c) {
var b = true;
var a = validateFunction($('.div1')); // returns true or false
console.log(a);
if (c === true) { // c always equals true
b = validateFunction($('.div2')); // returns true or false
console.log(b);
}
if (a === true && b === true) {
alert('You Win');
}
else {
alert('You Lose');
}
}
在我看来 c
不是=== true。要验证,请在if (c === true)
中添加其他子句,该子句包含一些 console.log('C is not === true.');
是的,大多数语言在从左到右的语句中解析,并在其确定结果后立即停止。
由于您在if语句中的第一个表达式返回false,因此整个语句无法返回true,因此它甚至不会尝试解析。
如果第一个表达式为false。