zoukankan      html  css  js  c++  java
  • javascript运算符优先级

    var a = {n:1};  
    a.x = a = {n:2};  
    alert(a.x);// --> undefined  
    alert(b.x);// --> {n:2}
    

    about这道题答案挺多的,我理解这涉及两个过程即求值过程和运算过程,求值过程都是从左到右,而运算过程有自己的运算顺序

    a.x = a = {n:2}; 

    这条语句中a.x a 和 {n:2}分别是三个表达式,需要先对他们求值,然后才会进行赋值操作,求值过程是先于赋值过程的

    下表列出了 JavaScript 运算符,并按优先级顺序从高到低排列。 具有相同优先级的运算符按从左至右的顺序计算。
    运算符
    说明
    .[ ] ( )        字段访问、数组索引、函数调用和表达式分组
    ++ -- - ~ ! delete new typeof void      一元运算符、返回数据类型、对象创建、未定义的值
    * / %   相乘、相除、求余数
    + - +   相加、相减、字符串串联
    << >> >>>   移位
    < <= > >= instanceof    小于、小于或等于、大于、大于或等于、是否为特定类的实例
    == != === !==   相等、不相等、全等,不全等
    &   按位“与”
    ^   按位“异或”
    |   按位“或”
    &&  逻辑“与”
    ||  逻辑“或”
    ?:  条件运算
    = OP=   赋值、赋值运算(如 += 和 &=)
    ,   多个计算
    

      

     

     

  • 相关阅读:
    UIScrollView
    xcode debug
    ios 开发小技巧
    xcode调试
    Objective-C的反射机制
    git 命令
    iOS block的一些理解
    iOS 开发常用宏
    iOS 常用函数
    转:支付宝系统架构(内部架构图)
  • 原文地址:https://www.cnblogs.com/labihua/p/4583375.html
Copyright © 2011-2022 走看看