javascript 的 && 和 ||

    xiaoxiao2021-03-25  150

    &&  的意思是逻辑 与 比如最简单的  true && false 返回false  会先判断第一个符号左边的表达式为false 则整个表达式返回false 

    如果左边的表达式为 true 则继续判断右边的表达式,如果为false 则整个表达式为 false  或者为true 则整个表达式为true

    例如:

                    true && true   //返回 true                 true && false  //返回 false                 false && false //返回 false

        如果比较的是两个Object类型  那么返回第二个对象

        如果两个比较表达式 其中有一个是null  那么返回null

        如果两个表达式 其中一个是NaN 那么返回NaN

        如果两个表达式 其中一个是NaN,那么返回 undefined

    && 优先级高于 ||

    a() || b() :如果执行a()后返回true,则整个表达式返回a()的值,b()不执行;如果执行a()后返回false,则执行b()并返回b()的值;

    a && b : 将a, b转换为Boolean类型, 再执行逻辑与, true返回b, false返回a a || b : 将a, b转换为Boolean类型, 再执行逻辑或, true返回a, false返回b 

    转换规则: 对象为true 非零数字为true 非空字符串为true 其他为false 

    技巧:设置默认值:var str=strone||'默认值'

    by the way 

    js中的常用运算符优先级

    下表按从最高到最低的优先级列出JavaScript运算符。具有相同优先级的运算符按从左至右的顺序求值。

    运算符 描述 . [] () 字段访问、数组下标、函数调用以及表达式分组 ++ -- - ~ ! delete new typeof void 一元运算符、返回数据类型、对象创建、未定义值 * / % 乘法、除法、取模 + - + 加法、减法、字符串连接 << >> >>> 移位 < <= > >= instanceof 小于、小于等于、大于、大于等于、instanceof == != === !== 等于、不等于、严格相等、非严格相等 & 按位与 ^ 按位异或 | 按位或 && 逻辑与 || 逻辑或 ?: 条件 = oP= 赋值、运算赋值 , 多重求值

    转载请注明原文地址: https://ju.6miu.com/read-3067.html

    最新回复(0)