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=   赋值、赋值运算(如 += 和 &=)
    ,   多个计算
    

      

     

     

  • 相关阅读:
    人这一辈子
    理性不是逆来顺受
    旧瓶新酒:江城子
    HVAC专业相关网站
    韩寒:主子,奴才和狗
    百无一用是书生
    inove主题文章字体修改
    这个世界清净了:再见人人
    ActiveX控件开发(转)
    GIS大讲堂内所有讲座的索引(更新至2008年6月26日)(转)
  • 原文地址:https://www.cnblogs.com/labihua/p/4583375.html
Copyright © 2011-2022 走看看