JS基础简单总结2

198 阅读6分钟

JS基础的简单小结2

运算符

算数运算符

  • 就是数学运算符,包括加,减,乘,除,取余(求模)

  • +:求和

  • -:求差

    • :求积
  • /:求商

  • %:取余数(取模)

    • 开发中经常作为莫格数字是否备整除
  • 同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。 JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行。

    • 乘,除,取余优先级相同
    • 加,减优先级相同
    • 乘。除,取余优先级大于加,减
    • 使用()可以提升优先级
    • 先乘除,后加减,有括号先算括号里面的

赋值运算符,对变量进行赋值的运算符

  • =号,将等号右边的值赋予给左边,要求左边必须是一个容器
  • +=:加赋值
  • -=:减赋值
  • *=:乘赋值
  • %=:求余赋值
  • /=除赋值

一元运算符

  • 使用场景,经常用于计数使用,比如进行10次操作,用它来计算进行了多少次

  • 自增。符号++

    • 让变量的值+1

    • 前置自增,每执行一次,当前变量数值+1.其作用相当于num += 1

      • let num = 1,++num
    • 后置自增,每执行一次,当前变量数值+1.其作用相当于num += 1

    • 前置自增和后置自增如果参与运输就有区别

      • 前置自增:先自加在使用(记忆口诀:++在前先加)
      • 后置自增:先使用在自加(记忆口诀:++在后 后加)
      1. 前置自增和后置自增独立使用时二者并没有差别!
  1. 一般开发中我们都是独立使用
  2. 后面 i++ 后置自增会使用相对较多
  • 自减。符号- -

    • 让变量的值减1

比较运算符

  • 比较两个数据大小,是否相等

    • :左边是否大于右边

    • <:左边是否小于右边
    • =:左边是否大于或等于右边

    • <=:左边是否小于或等于右边
    • ==:左右两边是否相等
    • ===:左右两边是否类型和值都相等
    • !==:左右两边是否不全等
    • 比较结果为boolean布尔类型,即指挥等到true或false
  • 字符串比较,是比较的字符对应的ASCII码

    • 从左往右依次比较
    • 如果第一位医药在比较第二位,以此类推
    • 比较的少,了解即可
  • NaN不等于任何值,包括它本身

  • 尽量不要比较小数,小数有精确问题

  • 不同类型直接比较会发生隐式转换

    • 最终把数据隐式转换转成number类型在比较
    • 所以在开发中,如果进行准确的比较更喜欢用===或者!==

逻辑运输符

  • 用来解决多重条件判断

  • &&:逻辑与

    • 并且

    • 特点:符号两边都为true,结果才为true

    • 一假则假

    • 注意:0,' ',undefined,null,NaN,都是假的false

    • 如:let num = a || b

      • 先判断a是否成立,成立就把a赋值给num,否则就把b赋值给num
    • 如:let num = a && b

      • a成立就把b赋值给num,否则就把a赋值给num
  • ||:逻辑或

    • 或者
    • 特点:符号两边有一个true就为true
    • 一真则真
  • !:逻辑非

    • 取反
    • 特点:true变false。false变true
    • 真变假,假变真
  • 短路

    • 短路只存在&&逻辑与和||逻辑或中,当满足一定条件会让右边代码不执行

    • &&逻辑与

      • 左边为false就短路
    • ||逻辑或

      • 左边为true就短路
    • 原因:通过左边能得到整个式子的结果,因此没必要再判断右边

    • 无论是&&还是||,运算结果都是最后被执行的表达式值,一般用在变量赋值

分支语句

分支语句可以让我们有选择性的执行想要的代码

if分支语句

  • 单分支

    • if (条件) { 满足条件时要执行的代码 }

      • 括号内的条件为true时,进入大括号里执行代码
      • 小括号内的结果若不是布尔类型时,会发生隐式转换为布尔类型
  • 双分支

    • if (条件) { 满足条件时要执行的代码 } else { 不满足条件时执行的代码 }
  • 多分支

    • if (条件) { 代码1} else if(条件2) { 代码2 } else if (条件3) { 代码3 } else { 代码n }

      • 先判断条件1,若满足条件1就执行代码1,其他不执行 ➢ 若不满足则向下判断条件2,满足条件2执行代码2,其他不执行 ➢ 若依然不满足继续往下判断,依次类推 ➢ 若以上条件都不满足,执行else里的代码n ➢ 注:可以写N个条件,但这里演示只写2个

三元运算符

  • 比if双分支更简单的写法,也叫三元表达式

    • 符号:?与:配合使用
    • 条件 ? 满足条件执行的代码 :不满足条件执行的代码
    • 一般用来取值

switch语句

  • swith(数据) { case 值1: 代码1 break;

case 值2: 代码2 break;

default: 代码n break; }

- 找到跟小括号里数据全等的case值,并执行里面对应的代码
- 若没有全等 ===  的则执行default里的代码
- 列:数据如果跟值2全等,则执行代码2
- 1.switch  case语句一般用于等值判断,不适合于区间判断
- 2.switch  case一般需要配合break关键字使用,没有会造成case穿透

程序三大流程控制

顺序

  • 从上到下

分支

循环

断点调试

学习时可以帮助更好的理解代码运行,工作时可以更快找到bug

浏览器打开调试界面

  • 按F12打开开发者工具
  • 点到sources一栏
  • 选择代码文件

在某句代码上加的标记就叫断点,当程序执行到这句有标记的代码时会暂停下来

循环结构

while循环

  • while(循环条件) { 要重复执行的代码(循环体) }

    • 跟if语句很像,都要满足小括号里的条件为true才会进入执行代码
    • while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到
    • 小括号判断条件,直到括号内条件不满足,即跳出
  • 注意循环需要具备三要素:

    • 1.变量起始值
      1. 终止条件(没有终止条件,循环会一直执行,造成死循环)
      1. 变量变化量(用自增或者自减)
  • 循环的本质就是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程。