JS(二)

97 阅读5分钟
运算符补充
  • 自增自减运算符 ++ --
    1. 作用:将自变量自增1或者自减1
    2. 语法:变量++ ++变量 变量-- --变量
    3. 区别:如果符号在变量/数据 前,先运算自增或者自减,然后参与周围程序运算 。 如果符号在变量/数据后,先参与走位程序运算,然后自增或者自减
 var num = 1
 //++在前,先运算
 console.log(++num)  //2
 
var num = 1
//++在后,后运算
console.log(num++)//1
  • 逻辑运算符
    1. && 逻辑与 逻辑且
    • 语法:变量1/数据1 && 变量2/数据2
    • 运行的规则:会判断符号左边的变量的值,转换为布尔值 ;
    • 如果符号左边布尔值为true,那么运行符号右边的代码或者返回符号右边的代码
    • 如果符号左边布尔值为false,那么直接运行符号左边的代码或者返回符号左边的代码
    • 逻辑与 和 逻辑或 将来在 分支语句中经常会使用 作为 判断条件
    • 逻辑与: 满足条件1 并且 满足条件2
    • 逻辑或: 满足条件1 或者 满足条件2
    console.log(变量1/数据1 && 变量2/数据2)
    console.log(true && false) //false
     console.log(1 && 0) //0
      console.log(0 && 100) //0
  1. || 逻辑语法:变量1/数据1 || 变量2/数据2
  • 运行规则:会判断符号左边的变量的值,转换为布尔值
  • 如果符号左边布尔值为true,那么运行符号左边的代码或者返回符号左边的代码
  • 如果符号左边的值为false,那么直接运行符号右边的代码或者返回符号右边的代码
console.log(true || false) //true
console.log(1 || 0) //1
console.log(0 || 100)//100
 true || console.log('左边为 true 右边就不会执行了')
  false || console.log('左边为 false 右边才会执行')
  1. ! 逻辑非得到数据的取反后的布尔值 !undefined !true
分支语句
  1. 分支语句
  • JS 在执行的时候, 是按照 从上往下的顺序执行的
  • 所以我们书写的所有代码都会执行, 区别就是执行顺序的问题
  • 分支语句的一个核心就是给了我们 基于某一个条件决定执行某一段代码的能力
if语句
  1. 语法1
  if(条件) { 书写如果条件成立,需要执行的代码}
  • 条件为真,就会执行大括号内的代码,否则不执行
  • 条件可以直接书写布尔值,也可以书写一个表达式,或者一个数字
  • 只要书写的不是一个布尔值,那么会隐式转换为一个布尔值
  1. 语法2
     if (条件) {
        书写如果条件成立, 需要执行的代码
 } else { 当上边的条件不成立的时候, 我会执行, 如果上边的条件成立了, 我就不执行了 }
  1. 语法3
     if (条件1) {
     如果条件1成立, 那么我会执行, 同时后续的所有 else if 或者 else 都不会执行了 
     } else if (条件2) {
     如果条件1不成立, 但是条件2成立了, 那么我会执行 , 同时后续的所有 else if 或者 else 都不会执行了
    } else if (条件3) { 
    如果条件1和条件2都不成立, 但是条件3成立了, 那么我会执行 , 同时后续的所有 else if 或者 else 都不会执行了  } .....
  1. 语法4
   if (条件1) {   
   如果条件1成立, 那么我会执行, 同时后续的所有 else if 或者 else 都不会执行了
   } else if (条件2) {
   如果条件1不成立, 但是条件2成立了, 那么我会执行 , 同时后续的所有 else if 或者 else 都不会执行了
   } else if (条件3) {
   如果条件1和条件2都不成立, 但是条件3成立了, 那么我会执行 , 同时后续的所有 else if 或者 else 都不会执行了 } else {       如果上述的所有条件都不成立, 那么我会执行, 否则就不执行  }
       
switch
  1. switch 语句, 也是 分支语句的一种 , 主要用于某一个变量的具体值, 做判断 (全等 ===)
switch (变量) {
      case 100:
     当变量的值 === 100 的时候会执行
      break;
      case 101:
      当变量的值 === 101 的时候会执行
      break;
      default:
      当上述条件都不满足的时候, 执行
switch的穿透
  1. 在书写 case 的时候, 没有 书写 break
  2. 那么如果这个 case 符合条件那么就会执行它内部的代码
  3. 代码执行完毕后, 没有发现 break, 所以会继续向下执行
  4. 不管 下一个 case 条件是否满足 直到遇见下一个 break 或者 当前 switch 代码全都执行完毕
三元表达式 (三元运算符/三目运算符/问号冒号表达式)
  1. 也是分支语句的一种, 对 if 语句的一个优化
  2. 语法: 条件 ? 条件为真的时候执行的代码(只有一行) : 条件为假的时候执行的代码
    假设一个变量 box 他的值可能是 1 也可能是 2
   我们要根据 这个变量的值 去创建一个新的变量, 内部的值存储为 成功或者失败
    我们自己约定 如果值 === 1 那么为成功, 其他情况 为失败
    
    var msg = 条件 ? 条件为真的时候执行的代码(只有一行) : 条件为假的时候执行的代码