zoukankan      html  css  js  c++  java
  • JavaScript运算符优先级——"++,--,&&,||“

    上篇文章比较了"?,="三者的优先级:"?">"=">","
    今天继续学习"++,--,&&,||"四者的优先级,强化JavaScript运算符基础。
    首先上图一张,运算符的比较:

    结论:

    1.优先级:"++,--">"&&">"||"

    2.即时性:++,--操作符里面的变量计算时候具有即时性。例如a=0,a++,那么a++结果是0,a是1.


    ||和&&是截断操作符,对||来说,前面成立后面就不用计算,对&&来说前面不成立后面就不会计算

    例如:var a=b=c=0;
    ++a||++b:  ++a的值为1,所以++b不执行,a=1,b=0;
    
    ++a&&++b:  ++a值为1,再计算++b,a=1,b=1;
    
    ++a||++b&&++c,&&优先级低于||,先计算++a,a=1后面执行a=1,b=0,c=0.
    

    下面我们看一个复杂的例题:

    var  a =1 ,b =0;
    var c =  a-- && b++ || a++ && b-- || b++;
    alert(a);
    alert(b);
    alert(c);
    

    结果是:a=1,b=2,c=1

    结计算过程详解:

    1.c原式相当于:(a--) && (b++) || (a++) && (b--) || (b++);

    2.计算到第3位时候注意:此时全式变为:1(a为0)&&0(b为1)||0(a为1)&&(b--)(0&&any特点,不用计算这位,b仍为1)||1(该位是在第2个&&计算完之后,开始计算的,所以b变为2),即1&&0||0&&(b--)||1

    3.a=1,b=2,c=1

  • 相关阅读:
    排序
    git常用操作_分支合并_新建工程等
    ibatis 中调用存储过程
    IDEA试用期结束激活问题
    kafka本地工程的调用说明
    python yield 和 yield from用法总结
    ubuntu14.06 Lts开启ssh服务
    QT-1-环境搭建QT5.4.1&MinGW4.9.1
    虚拟机Ping不通主机解决
    CRC类(处理ITU表)
  • 原文地址:https://www.cnblogs.com/QingFlye/p/4313445.html
Copyright © 2011-2022 走看看