JS基础的简单小结2
运算符
算数运算符
-
就是数学运算符,包括加,减,乘,除,取余(求模)
-
+:求和
-
-:求差
-
- :求积
-
/:求商
-
%:取余数(取模)
- 开发中经常作为莫格数字是否备整除
-
同时使用多个运算符编写程序时,会按着某种顺序先后执行,我们称为优先级。 JavaScript中 优先级越高越先被执行,优先级相同时以书从左向右执行。
- 乘,除,取余优先级相同
- 加,减优先级相同
- 乘。除,取余优先级大于加,减
- 使用()可以提升优先级
- 先乘除,后加减,有括号先算括号里面的
赋值运算符,对变量进行赋值的运算符
- =号,将等号右边的值赋予给左边,要求左边必须是一个容器
- +=:加赋值
- -=:减赋值
- *=:乘赋值
- %=:求余赋值
- /=除赋值
一元运算符
-
使用场景,经常用于计数使用,比如进行10次操作,用它来计算进行了多少次
-
自增。符号++
-
让变量的值+1
-
前置自增,每执行一次,当前变量数值+1.其作用相当于num += 1
- let num = 1,++num
-
后置自增,每执行一次,当前变量数值+1.其作用相当于num += 1
-
前置自增和后置自增如果参与运输就有区别
- 前置自增:先自加在使用(记忆口诀:++在前先加)
- 后置自增:先使用在自加(记忆口诀:++在后 后加)
-
- 前置自增和后置自增独立使用时二者并没有差别!
-
- 一般开发中我们都是独立使用
- 后面 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.变量起始值
-
- 终止条件(没有终止条件,循环会一直执行,造成死循环)
-
- 变量变化量(用自增或者自减)
-
循环的本质就是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程。