zoukankan      html  css  js  c++  java
  • [转] JS运算符 &&和|| 及其优先级

    第一、&& (逻辑与)运算,看一个简单的例子:

    var a = 1 && 2 && 3;
    var b = 0 && 1 && 2;
    var c = 1 && 0 && 2;
    console.log(a);//值为3
    console.log(b);//值为0
    console.log(c);//值为0

    运行的结果是 :3,0,0。

    解析:

    “&&” 运算遇到false就返回;

    变量a的计算:因为1 && 2,1为真,返回2;2&&3, 2为真,返回3 。

    变量b的计算:因为0 && 1,0为假,返回0,不再往下计算。

    第二、|| (逻辑或)运算,看一个简单的例子:

    var d = 0 || 1 || 2;
    var e = 1 || 0 || 2;
    var f = 1 || 2 || 0;

    console.log(d);//值为1
    console.log(e);//值为1
    console.log(f);//值为1

     解析:

    “||”运算遇到true就返回;

    变量d的计算:因为0 || 1,0为假,返回1;1 || 2, 1为真,返回1 。

    变量e的计算:因为1 || 0,1为真,返回1,不再往下计算。

    三、&& (逻辑与) 和||(逻辑或)混合使用:

    var g =  1 && 2 || 3;

    var h = 1 || 2 && 3;

    var i = 0 || 2 && 3;

    console.log(g);//值为2
    console.log(h);//值为1 

    console.log(h);//值为3

     解析:

    && (逻辑与) 优先级高于||(逻辑或);

    变量g的计算:因为1 && 2,1为真,返回2;2 || 3, 2为真,返回2 。

    变量e的计算:等式看成 1 || (一个值),1为真,最终直接返回1,不需要计算后边的等式的值。

    变量i的计算:因为2 && 3,2为真,返回3;0 || 3,0为假,返回3。

  • 相关阅读:
    海岛争霸
    hihocoder 1089 最短路径·二:Floyd算法
    hihocoder1081 :最短路径·一
    [蓝桥杯][历届试题]蚂蚁感冒
    牛客网Wannafly挑战赛27 A: 灰魔法师
    hdu1875:畅通工程再续
    hdu1863:畅通工程
    hdu1879:继续畅通工程
    hdu1233:还是畅通工程
    洛谷 P1546 最短网络 Agri-Net
  • 原文地址:https://www.cnblogs.com/gyfluck/p/6015053.html
Copyright © 2011-2022 走看看