微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

2.分支判断

js历史背景

  • 作者: 布兰登.艾奇
  • ECMAScript标准

js的注释

  • 单行
  • 多行

js的变量

  • 含义:在计算机中以命名的方式存储一个数据 使用数据的时候可以根据这个名称拿到这个数据
  • 存(声明、定义)
    • var 变量名
    • 变量名 = 数据
    • 变量名
  • 变量命名规则
    1. 组成部分
    2. 空格
    3. 大小写
    4. 关键字和保留字
  • 变量命名规范
    1. 语义化
    2. 小驼峰
  • 数据类型
    • 字符串 string
    • 数值 number
    • 布尔 boolean
    • undefined
    • null
  • 区分数据类型
    • console.log(数据)
    • typeof 数据
  • 数据类型的转换
    • 一个数据类型转换成另一个数据类型
    • 把其他类型转换成数值
      • 三种方式
        • Number()
        • parseInt()
        • parseFloat()
      • 如果是纯数字字符串、布尔、undefined、null使用Number进行转换
      • 如果不是纯数字字符串
        • parseFloat
        • parseInt
    • 把其他类型转换成字符串
      • 两个方法
        • String()
        • 数据.toString()
      • 如何类型转字符串都可以使用String
      • undefined和null无法使用toString
      • 妙用:
        • 一个数值转字符串的时候可以使用toString转换进制
        • num.toString(2)
    • 把其他类型转换成布尔值
      • Boolean()
      • 0 NaN ‘’ undefined null --> false

NaN

  • not a number 不是一个数字 是一个非数字
  • 一个数值类型的 但是不是一个数字
  • undefined --> NaN
  • ‘1234’ --> 1234
  • ‘hello’ --> NaN
  • 注意事项
    1. NaN和任何数比较都是不相等
    2. NaN参与任何运算的结果都是NaN

运算符

  • 数学运算符

    • + - *(乘) /(除) %(余)
    • 如果是加法运算,只要符号有一侧是字符串,另一侧也会转换成字符串 然后进行拼接
    • 其他的任何运算任何类型进行运算的时候都会将符号左右自动转换成数值然后再参与运算
  • 赋值运算符

    • 一个数据赋值给变量
    • = += -= *= /= %=
  • 比较运算符

    • 比较运算符得到结果是一个布尔值
    • > < == != >= <= === !==
    • == 只要两个数据的值相等就是满足
    • === 既要两个数据值相等 又要他们的类型相同
    • != 只有两个数据的值不相等才满足
    • !== 要么两个数据的值不相等 要么类型不相同都是满足
  • 逻辑运算

    • && 并且 符号左右两个条件都为真 才满足
    • || 或者 符号左右两个条件只要有一个满足 就满足
    • ! 取反 非
  • 逻辑短路

    • 短路:编程上面的短路代表有一段代码不执行
    • && 当左侧条件为false的时候 右侧就不执行
    • || 当左侧条件为true的时候 右侧就不执行
  • 自增和自减运算(一元运算符)

    • 后置
      • num++
      • num–
    • 前置
      • ++num
      • –num
    • 无论是前置还是后置都会将数据改变
    • 在参与其他运算的时候前置和后置是有区别
      • 前置的会先改变自身的值再参与运算
      • 后置的会先拿当前的值参与运算之后在改变自身
  • 三元(目)运算符

    • 条件 ? 条件成立执行的语句 : 条件不成立执行的语句

判断 选择 分支

  • 代码执行方式
    1. 顺序语句:每一句都会执行 代码执行的顺序是从上往下
    2. 分支语句:代码执行不是每一句都会执行 会根据某个条件选择性执行
    3. 循环语句: 重复执行一段代码
  • 分支语句
    • if…else语句
      • 单分支
        • 只有一个条件 只考虑条件满足一种情况
      • 双分支
        • 只有一个条件 既考虑满足的情况也考虑不满足的情况
      • 多分支
        • 可以有多个条件 考虑每一个条件满足执行的情况
        • if必须要有
        • else if依据条件可以写多个
        • else可以省略不写
      • 分支是可以嵌套
        • if里面可以嵌套if…else else里面也可以嵌套if…else
        • 但是如果是多个条件 优先使用多分支 不推荐用嵌套
    • switch…case语句
          switch(固定值){
              case 场景值01: 
                  语句01;
              case 场景值02: 
                  语句02;
              case 场景值03: 
                  语句03;
              case 场景值04: 
                  语句04;
              default:
                  认语句
          }
      
      • switch语句将固定值和场景值进行一一比较 比较是全等比较
      • 如果某一个场景值匹配上了 会将这个case后面所有的语句都执行,这种效果叫做穿透
      • 如果希望阻止这种穿透效果 可以在每一个case语句最后加上break
    • switch语句和if语句有什么区别
      • 当条件是一个范围的时候 用if语句
      • 当条件是几个固定值 既可以用if也可以用switch
      • switch语句带有穿透效果

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐