JS的各种运算符

126 阅读2分钟

if分支语句

  • 语法:if(判断条件){

    当小括号内的条件为真,然后执行大括号里面的内容

    }

算数运算符

 + - * / %

赋值运算符

* =    +=  -=  *=  /=  %=
 var a = 100
​
        a += 50 // a = a + 50
        console.log(a)  // a == 150
​
        a -= 50 // a = a - 50   ---> a == 50
        console.log(a)
​
        a *= 5  // a = a * 5    ---> a == 500
        console.log(a)
​
        a /= 20 // a = a / 20    ---> a == 5
        console.log(a)
​
        a %= 20 // a = a % 20   ---> a == 0
        console.log(a)

比较运算符

>    <    >=    <= 

 ==(等于)---只会对比数据的值    ===(全等)---会对比数据的值  和数据类型    !=(不等于)    !==(不全等)
  • 得到的不是常规的数学的数字,是一个布尔值

逻辑运算符

&&(与/且)    ||(或)    !(非/取反)
  • &&特点:
  • 前一个为真,返回后一个;
  • 前一个为假,返回前一个;
  • ||特点:
  • 前一个为真,返回前一个
  • 前一个为假,返回后一个
  • ! 特点:
  • 取反,将变量值得布尔值,做一个取反的操作

自增自减运算符

  • 语法:

  • ++变量

  • 变量++

  • --变量

  • 变量--

  • 作用:将自身+1或者-1

  • 区别:

  • 符号在前,先运算自减或者自加,然后参与周围表达式

  • 符号在后,先参与周围表达式运算,然后在自减或者自加

  •  var a = 100
            a++ // 101
            ++a // 102
            console.log(a)
    
      var a = 100
            a--     // a == 99
            --a     // a == 98
            console.log(a)
    

if( ){ }else{ }

/**
         * 根据 成绩 (0~100)
         *      打印不同的结果
         *  0~60 ---> 不及格
         *  61~80 ---> 要努力
         *  81~100 ---> 优秀
        */
​
        var a = -100
        /**
         * 优秀:        a >= 81     a <= 100
        */
        if (a >= 81 && a <= 100) {
            console.log('优秀')
        } else if (a >= 61 && a <= 80) {
            console.log('要努力')
        } else if (a >= 0 && a <= 60) {
            console.log('不及格')
        } else {
            console.log('不符合上述区间的数字时, 执行')
        }
​

练习

// 1. 判断一个正整数是不是偶数
        /**
         *  一个数字 如果和 2 取余 为 0
        */
        var a = 11
        if (a % 2 == 0) {
            console.log(a, '是偶数')
            console.log(a + '是偶数')
        } else {
            console.log(a + '是奇数')
        }
​
 // 2. 判断一个年份是平年还是闰年
        // 条件1: 四年一润, 百年不润;
        // 条件2: 四百年补一润
​
        var year = 2022
        // 1.
        // year % 4 == 0 && year % 100 != 0
        // 2. 
        // year % 400 == 0
​
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) {
            console.log(year, '年 是闰年')
        } else {
            console.log(year, '年 是平年')
        }

switch

  • switch的判断使用的是全等

  • 语法:

    switch(判断条件){

    case 条件1:

    满足条件1执行的代码

    break;

    case条件2:

    满足条件2执行的代码

    break;

    .....

    case条件n:

    满足条件n执行的代码

    break;

    default:

    上述条件都不满足时执行的代码

    }

      var a = 100
            switch (a) {
                case 10:
                    console.log('a为10')
                    break;
                case 20:
                    console.log('a为20')
                    break;
                case 100:
                    console.log('a为100')
                    break;
                default:
                    console.log('不满足上述所有 case 时, 执行我')
            }
    

switch语句的穿透现象

  • 寻找到满足条件后,如果没有break会继续往下执行,直到发现break或者结束
  • // 根据 月份 在控制台打印当月的天数(2月假设有28天)
            var m = 9
            var day;
            switch (m) {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    day = 31
                    break;
                case 4:
                case 6:
                case 9:
                case 11:
                    day = 30
                    break;
                case 2:
                    day = 28
                    break;
            }
            console.log(m, '月有', day, '天')
    

三元表达式

  • 语法:条件?为真的时候执行的一行代码 :为假的时候执行的一行代码
  •  var a = 100
    ​
            a == 1000? console.log('100') : console.log('1000')
    ​