js中逻辑或与运算符优先级

逻辑或 ||

在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: 若你觉得可以、还行、过得去、甚至不太差的话,可以“关注”一下,就此谢过!

    原文作者:Gavin_Alison
    原文地址: https://www.jianshu.com/p/2fa3f8391026
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞