美文网首页JavaScript学习笔记,学习指南
js中逻辑或与运算符优先级

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

作者: 光小月 | 来源:发表于2016-11-16 18:20 被阅读40次

    逻辑或 ||

    在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

    相关文章

      网友评论

        本文标题:js中逻辑或与运算符优先级

        本文链接:https://www.haomeiwen.com/subject/vvprpttx.html