• JS-逻辑运算符的与,或,非


    JS-逻辑运算符的与,或,非

    1.非

    所谓非,就是取反,非真即假,非假即真。

    非运算符不仅仅只能用于布尔值,其他数据类型也是可以的,如下:

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

    2.如果操作数是一个空字符串,返回true

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

    4.如果操作数是数值0,返回true

    5.如果操作数是任意非0数值(包括Infinity), 返回false

    6.如果操作数是null,返回true

    7.如果操作数是NaN,返回true

    8.如果操作数是undefined, 返回true

    2.与

    作用于两到多个值,并且只有所有的操作数都是真值时,才为true。

    JavaScript里面的与存在短路现象,具体说明如下:

    1.第一个操作数为真:会进入第二个操作数的判断,且无论第二个操作数真假,都会返回第二个操作数。

    2.第一个操作数为假:不会进入第二个操作数的判断,直接返回第一个操作数。

    实例:

    console.log(3 && 5);//5
    
    console.log("Hello" && 20);//20
    
    console.log("Hello" && false);//false
    
    console.log("" && "shoe");//""
    
    console.log("Hello" && '');//''

    经典题:

    let a = true;
    
    let b = a && c;//因为a是true,所以会判断第二个数。
    
    console.log(b); //ReferenceError: c is not defined
    
    let a = false;
    
    let b = a && c;// 因为a是false,所以不会判断第二个数。
    
    console.log(b);//false

    3.或

    同样是作用于两到多个值,但是只要有一个操作数为真,就返回真。

    JavaScript里面的或同样存在短路现象,具体说明如下:

    1.如果第一个操作数为真,则不会进入第二个数的判断。所以无论第二个操作数真假,都直接返回第一个操作数

    2.如果第一个操作数为假,则会进入第二个数的判断。但是无论第二个操作数真假,都直接返回第二个操作数

    实例:

    console.log(false || true);//true
    
    console.log("Hello" || "");//Hello
    
    console.log("Hello" || "str");//Hello
    
    console.log(NaN || "");//""
    
    console.log(0 || "Hello World");//Hello World
    
    console.log('' || 'str');//str
    
    console.log('' || false);//false

    经典题:

    let a = false;
    
    let b = a || c;因为a是false,所以会判断第二个数。
    
    console.log(b); //ReferenceError: c is not defined
    
    let a = true;
    
    let b = a && c;// 因为a是true,所以不会判断第二个数。
    
    console.log(b);//true
  • 相关阅读:
    自定义input标签输入框
    sys.argv 启动时可以传入变量
    falcon 监控
    wrk 压测工具
    mysql UPDATE和REPLACE
    tesseract识别图片中文字
    centos 查看日志 & 查找文件、目录、内容 & centos查看磁盘使用情况
    压力测试
    tensorflow + scikit-learn
    Pycharm快捷键配置
  • 原文地址:https://www.cnblogs.com/CccK-html/p/11375390.html
Copyright © 2020-2023  润新知