一、逻辑与
// 逻辑与
// 运行结果为1
// 2 > 3返回结果为flase,由于逻辑与只要遇到false,就可以得出最终结果为false
// 得到结果后就会停止运行,之后的等式就不会运行了,所以++i没有执行
var i = 1
if (2 > 3 && ++i) {
alert("看打印结果")
}
document.write(i)
// 逻辑与
// 运行结果为2
// 2 < 3返回结果为true,由于逻辑与还没遇到false,所以需要继续往后执行,直到遇到第一个false或等式结束,就输出结果
// 所以2 < 3判断完后,等式会继续往后运行,所以++i执行了
var i = 1
if (2 < 3 && ++i) {
alert("看打印结果")
}
document.write(i)
二、逻辑或
// 逻辑或
// 运行结果为2
// 2 > 3返回结果为false,由于逻辑或只要遇到true,就可以得出最终结果为true,
// 当遇到false时,会继续往后执行,直到遇到第一个ture或等式结束,就输出结果
// 所以2 > 3判断完后,等式会继续往后运行,所以++i执行了
var i = 1
if (2 > 3 || ++i) {
alert("看打印结果")
}
document.write(i)
// 逻辑或
// 运行结果为1
// 2 < 3返回结果为true,由于逻辑或只要遇到true,就可以得出最终结果为true,
// 所以2 < 3判断完后,等式就不会运行,所以++i没有执行
var i = 1
if (2 < 3 || ++i) {
alert("看打印结果")
}
document.write(i)