逻辑或 ||
在js中,遇到一些问题,在此总结总结。
对于逻辑或||的运算,除了"有真则真,都为假则为假",还需要注意的地方在哪里呢?
先看一下实例吧。
alert( 'a' || '1'); // a
alert( undefined || null); // null
alert( undefined || undefined ); // undefined
alert( null || undefined ); //null
结果为什么会是这样?
首先对于逻辑或的运算,第一个值为false,才会走第二个,结果的值也为 第二个。
第一个值为true,不走第二个,结果值为 第一个。
JavaScript运算符优先级
含义:
运算符优先级描述了在计算表达式时执行运算的顺序。
先执行具有较高优先级的运算,然后执行较低优先级的运算。
例如,先执行相乘,再执行相加。JavaScript 运算符的优先级
运算符 | 说明 | ||
---|---|---|---|
. [ ] ( ) |
字段访问、数组索引、函数调用和表达式分组 | ||
++ -- - ~ ! delete new typeof void |
一元运算符、 返回数据类型、 对象创建、 未定义的值 |
||
* / % | 相乘、相除、求余数 | ||
+ - + | 相加、相减、字符串串联 | ||
<< >> >>> |
移位 | ||
< <= > >= instanceof |
小于、小于或等于、大于、大于或等于、是否为特定类的实例 | ||
== != === !== |
相等、不相等、全等,不全等 | ||
& | 按位“与” | ||
^ | 按位“异或” | ||
按位“或” | |||
&& | 逻辑“与” | ||
逻辑“或” | |||
?: | 条件运算 | ||
= , OP= | 赋值、赋值运算(如 += 和 &=) | ||
, | 多个计算 |
note:
- || 与 ? : 的优先级, || 的优先级大于? :
2 || 3 > 4 ? 0 : 1 --- 0
- alert(1>3 ? 2 : 5 > 2 ? 9 : 1); ---- 9
PS: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!