人生需面临选择 === JS 的分支语句

81 阅读1分钟

JS 运算符

算术运算符

  • 算数运算符( + / - / * / / / % )
    • 运算顺序与数学中的运算顺序一致,先乘除取余,后加减,有小括号先算小括号
      console.log(1 + 2)          3
      console.log(1 + '2')        12
      console.log(1 * 2)          2
      console.log(1 * '2')        2
      console.log(1 - 2)          -1
      console.log(1 - '2')        -1
      console.log(1 / 2)          0.5
      console.log(1 / '2')        0.5
      console.log(1 % 2)          1
      console.log(1 % '2')        1
      

赋值运算符

  • 赋值运算符( = / += / -= / *= / /= / %= )
    var b = 5
    console.log(b += 5)     10
    console.log(b -= 5)     0
    console.log(b /= 5)     1
    console.log(b *= 5)     25
    console.log(b %= 5)     0
    

比较运算符

  • 比较运算符( > / < / >= / <= / == / === / != / !== )
    • 比较结果只会返回一个布尔类型值,true 或者 false
      var c = 1
      console.log(c < 2)          true
      console.log(c > 2)          false
      console.log(c >= 1)         true
      console.log(c <= 1)         true
      console.log(c < '2')        true
      console.log(c == '1')       true
      console.log(c === '1')      false
      console.log(c != '1')       false
      console.log(c !== '1')      true
      

逻辑运算符(重点)

  • 逻辑运算符( && / || / ! )
    var d = 1
    var e = 0
    console.log(d && e)         0
    console.log(!d && e)        false
    console.log(d && !e)        true
    console.log(d || e)         1
    console.log(!d || e)        0
    console.log(!d || !e)       true
    

自增自减运算符

  • 自增自减运算符( ++ / -- )
    var f = 1
    console.log(f++)      1
    console.log(++f)      2
    console.log(f--)      1 
    console.log(--f)      0
    

运算符练习题

  1. var a = 3; var b = a++; a + b + a++该代码输出的值为
    • a == 3
    • b == 4
    • 3 + 4 + 3++ == 11
  2. console.log(parseInt(1 * 100 / 3 + ""))该代码输出的值为
    • 33
  3. var a = 3; a++; a++; var b = a+2; ++a; console.log(a) 该代码输出的值为
    • a == 3
    • a == 4
    • a == 5
    • b == 7
    • a == 6
  4. 3 - "36" % 5 + "2" - 2该代码输出的值为
    • 3 - 1 + '2' - 2
    • '22' - 2
    • 20
  5. var a = 4; var num = 1 * (2 + 3) && a++ || 5 > 6 && 7 < 8 || !9; num的值是
    • 5 && 4 || fales && true || false
    • 4 || false || false
    • 4
  6. 在不考虑四舍五入的情况下对一个数字进行保留两位小数 (提醒: 使用 parseInt)
    var orign = 123.456789
    console.log(parseInt(orign * 100) / 100) 
    输出结果: 123.45
    

什么是分支语句?

if 分支语句

```js
var a = 100
if (a = 1) {
    console.log(a1时输出的值)
} else if (a = 2){
    console.log(a2时输出的值)
} else {
    console.log(以上都为错时,a输出的值)
}
  ```
  • 基于一个条件,决定执行那段代码
  • 需求:当变量 a 的值为 1 时打印1 2 3,当变量 a 的值不等于 1 时打印4 5 6
  • 语法:if(条件){当条件为真时,执行的代码}

switch 分支语句

```js
switch(a){
    case 1:
        console.log('a 为1')
        break;
    case 2:
        console.log('a 为2')
        break;
    default:
        console.log('上述的都没有执行')
}
```
  • switch...case 的 穿透现象
    • 当 case 后没有跟随 break 时, 会从第一个满足条件的 case 开始执行, 一直到 最后一个 或者说 到后续的 最近一个 break

三元表达式(三目, 三目运算符, 问号冒号表达式)(重点)

 true ? console.log('条件为真') : console.log('条件为假')
  • 语法: 条件 ? 条件为真时执行(只能一行) : 条件为假时执行(只能一行)