JavaScript学习
JavaScript中 && 与 || 的非常规用法
在阅读源码的过程中,看到了JavaScript中逻辑运算符的一些不一样的用法。
直接举例:
1 | alert((1 && 3 || 0) && 4); //结果4 |
原理:
a() && b() :如果执行a()后返回true,则执行b()并返回b的值;如果执行a()后返回false,则整个表达式返回a()的值,b()不执行;
a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;
其中&& 优先级高于 ||