运算符的补充

90 阅读2分钟

/**

自增自减运算符

     *      ++      --
     *      作用: 将变量自增1或者自减1
     * 
     *      自增自减运算符
    */

    // var num = 1
    // ++ 在前, 先运算
    // console.log(++num)  // 2

    // ++ 在后, 后运算
    // console.log(num++)  // 1
    // console.log(num)     // 2


    /**

逻辑运算符

     * 
     *      &&  逻辑与  逻辑且
     *          语法:   变量1/数据1 && 变量2/数据2
     * 
     *              运行规则: 会判断符号左边的变量的值, 转换为布尔值后
     *                          如果符号左边布尔值为 true, 那么运行符号右边的代码或者返回符号右边的代码
     *                          如果符号左边布尔值为 false, 那么直接运行符号左边的代码或者返回符号左边的代码
     * 
     *      ||  逻辑或
     *          语法:   变量1/数据1 || 变量2/数据2
     *              
     *              运行规则: 会判断符号左边的变量的值, 转换为布尔值后
     *                          如果符号左边布尔值为 true, 那么运行符号左边的代码或者返回符号左边的代码
     *                          如果符号左边布尔值为 false, 那么直接运行符号右边的代码或者返回符号右边的代码
     * 
     * 
     *      逻辑与  和   逻辑或 将来在 分支语句中经常会使用 作为 判断条件
     *              逻辑与:     满足条件1   并且   满足条件2
     *              逻辑或:     满足条件1   或者    满足条件2
     *  
     * 
     *      !   逻辑非
     *              得到数据的取反后的布尔值
     *                  !undefined          !true
    */

1. 逻辑与 &&

    // console.log(变量1/数据1 && 变量2/数据2)
    // console.log(true && false)
    // console.log(1 && 0)
    // console.log(0 && 100)

    // console.log('手动分割线=================')
    
    // console.log(true && false)
    /**
     *  按照逻辑与的规则, 符号左边的布尔值为 true 那么运行符号右边的代码, 或者返回符号右边的代码
     * 
     *  所以相当于写了: console.log(false)
    */

    // console.log(0 && 100)
    /**
     *  按照逻辑与的规则, 符号左边的布尔值为 false 那么运行符号左边的代码, 或者返回符号左边的代码
     * 
     *  所以相当于写了: console.log(0)
    */


    // true && console.log('条件成立')
    // false && console.log('你猜我会不会打印?')

2. 逻辑或 ||

    // console.log(true || false)
    // console.log(1 || 0)
    // console.log(0 || 100)

    console.log(1 || 0)
    /**
     *  按照逻辑或的规则, 符号左边的布尔值为 true 那么运行符号左边的代码, 或者返回符号左边的代码
     * 
     *  所以相当于写了: console.log(1)
    */

    console.log(0 || 100)
    /**
     *  按照逻辑或的规则, 符号左边的布尔值为 false, 那么运行符号右边的代码, 或者返回符号右边的代码
     * 
     *  所以相当于写了: console.log(100)
    */

    true || console.log('左边为 true 右边就不会执行了')
    false || console.log('左边为 false 右边才会执行')