美文网首页
js中运算符的优先级问题

js中运算符的优先级问题

作者: 那麽快樂 | 来源:发表于2019-06-08 15:17 被阅读0次

    算术运算符:
    加法:
    +它既是算术运算符有事字符串运算符,即,它即可做加法运算,又可以做拼接
    总结:
    +
    a.只要一端是字符串 ,就拼接字符串
    b.一端是数字 ,另外一端是true,false,NaN ,null,undefined
    则Number()之后,做加法。加不出来就是NaN
    减法:
    乘法:
    除法/:
    求模%: 求余数
    总结:
    - * / % 无论何时都是转化为数字,做减法,减不出来NaN.
    小数%大数 = 小数

        累加(递增):++
            ++a与a++都是对a进行递增的过程
            区别:
                ++a先返回递增之后的a的值(即先加再运算)
    
                a++先返回a的原值,再返回递增之后的值(先运算后加)
    
        递减:-- 同理
    

    赋值表达式:
    简单的赋值运算: = 把右侧的值赋给左侧的变量。
    复合的赋值运算:
    += a=a+2 a+=2
    -= a=a-1 a-=1
    = a=a3 a*=3
    /= a=a/5 a/=5
    %= a=a%3 a%=3


    逻辑运算符:
    ! && ||
    逻辑非: ! 取反
    结果:永远是Boolean

        逻辑与: &&  并且   (逻辑与打假)
    
        规律:逻辑与找假值,遇到假值,就返回这个假值,
            如果没有遇到假值,就返回最后一个值;
    
    
        逻辑或: ||  或则   (逻辑或寻找真相)
    
        规律:逻辑或找真值,遇到第一个真值,则返回这个真值,
            如果没有遇到真值,则返回最后一个值;
    
    -----------------------------------------------------------------------------------------------------------
      比较运算符:> >=    <   <=
    
            规律:
                1)两端都是数字直接比较;
                2)一端是数字,另外一端不是数字,把不是数字的转化为数字进行比较。
                3)如果一端是布尔值,另一端不管是什么,先把布尔转数字。
                4)如果两端都是字符串.则按照Ascii码值比较。
    
            返回结果 : 都是Boolean值
    
            
        相等运算符: 
            == 相等   != 不等
    
            规律:
                1)两端都是数字或者字符串,直接比较。
                2)一端是布尔值,先把布尔转为数字。
                3) 一端是数字,一端是字符串,把字符串转化数值。
                4) undefined  null NaN  在相等运算符里面,不转化直接比较。
    
                    说明:(只有null==undefined,,其他的null与任何值都不相等,undefined与任何值都不相等,NaN也是)
                        NaN不等于任何值,包括其本身
    
        全等运算符:
            ===全等   !== 不全等
    
            规律:不转化,直接比较; (不仅比较值,还比较数据类型)
    
    
        运算符优先级: 
    
        逻辑非(!)  》   (++  --)  》 (+ - * / % )   》  (> >= < <=)   》 (== !=   ===  !==)  》 &&  》 ||  》 (= += -= *= /= %=) 
    
        三元运算符:
    
        表达式 ?语句1 :语句2
    
        //如果表达式为真;着执行?后面的语句1,如果表达式为假,则执行:后面的语句2
    
        4>3 ?“yes":"no"
    

    相关文章

      网友评论

          本文标题:js中运算符的优先级问题

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