zoukankan      html  css  js  c++  java
  • JS中的“&&”与“&”和“||”“|”有什么区别?

    在JavaScript中“&&”和“||”是逻辑运算符;“&”和“|”是位运算符。

    四个运算符主要区别是运算方法不一样:

    1、JavaScript中的位运算符:“&”

    运算方法:两个数值的个位分别相与,同时为1才得1,只要一个为0就为0。

    举个例子:

    31&2  结果为2

    理由:31的二进制为11111,2的二进制为10  11111&00010的结果为00010,即2

    控制台运行结果:

    2、JavaScript中的位运算符:“|”

    运算方法:

    两个位只要有一个为1,那么结果都为1。否则就为0

    举个例子:

    31|2 结果为31  31的二进制为11111,2的二进制为10 11111|00010的结果为11111,即31

    控制台运行结果:

    3、JavaScript中的逻辑运算符“&&”

    运算方法:

    只要“&&”前面是false,无论“&&”后面是true还是false,结果都将返“&&”前面的值;

    只要“&&”前面是true,无论“&&”后面是true还是false,结果都将返“&&”后面的值;

    例子:1&&3 为3,1&&0为0,控制台运行结果如下:

    4、JavaScript中的逻辑运算符“||”

    运算方法:

    只要“||”前面为false,不管“||”后面是true还是false,都返回“||”后面的值。

    只要“||”前面为true,不管“||”后面是true还是false,都返回“||”前面的值。

    例子:3||1为3,3||0为3,0||3为3   控制台运行结果如下:

    扩展资料:

    在JavaScript逻辑运算中

    0、”“、null、false、undefined、NaN都会判为false,其他都为true。

    举个例子:null && 1 结果为null

    控制台运行结果如下:

    JavaScript中的逻辑运算除了&& 和 || 外,还有逻辑非(!)

    逻辑非(!)的判断逻辑如下:

    如果一个操作数是一个对象,返回false;

    如果一个操作数是一个空字符串,返回false;

    如果一个操作数是一个非空字符串,返回false;

    如果一个操作数是一个数值0,返回true;

    如果一个操作数是任意的非零字符,返回false;

    如果一个操作数是null,返回true;

    如果一个操作数是NaN,返回true;

    如果一个操作数是undefined,返回true;

    转载: https://zhidao.baidu.com/question/2118237346586349547.html

  • 相关阅读:
    维护gcd的线段树 补发一波。。。
    BZOJ 4720: [Noip2016]换教室
    P2184 贪婪大陆 树状数组
    BZOJ 1047: [HAOI2007]理想的正方形 单调队列瞎搞
    POJ3280 Cheapest Palindrome 区间DP
    BZOJ 2288: 【POJ Challenge】生日礼物 堆&&链表
    BZOJ 4236: JOIOJI map瞎搞
    浅谈最近公共祖先(LCA)
    题解 BZOJ 1912 && luogu P3629 [APIO2010]巡逻 (树的直径)
    [笔记] 求树的直径
  • 原文地址:https://www.cnblogs.com/jockr/p/11131527.html
Copyright © 2011-2022 走看看