JS中短路逻辑的运算以及返回值

112 阅读1分钟

在看到面试题:

(1)alert (0&&2)  返回值为0

(2)alert(1&&2) 返回值为2

(3)alert(0||2) 返回值为2

(4)alert(1||2) 返回值为1

总结:

1、&&,逻辑与运算,如果左边表达式是false或可强制转换为false的值,那么就不需要执行右边的表达式,返回左边的表达式;如果左边表达式是true或可强制转换为true的值,那么就继续执行右边的表达式,返回右边的表达式。

2、||,逻辑或运算,如果左边表达式是false或可强制转换为false的值,那么就继续执行右边的表达式,返回右边的表达式;如果左边表达式是true或可强制转换为true的值,那么就不继续执行右边的表达式,返回左边的表达式。