语句
表达式和语句
-
表达式
-
表达式是一组代码的集合,JavaScript解释器会将其计算出一个结果
-
计算出一个值
-
函数表达式
let 变量名 = function(){ 函数体 }
-
-
语句
- js 整句或命令,js 语句是以分号结束(可以省略)
- 用来执行以使某件事发生(做什么事)
程序三大流程控制语句
-
顺序结构
- 代码从上往下执行
-
分支结构
-
根据条件选择执行代码
-
if分支语句
-
单分支
if(条件){满足条件要执行的代码}- 括号内的条件为true时,进入大括号里执行代码
- 小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
-
双分支
if(条件){满足条件要执行的代码}else{不满足条件执行的代码}
-
多分支
if(条件1){代码1}else if(条件1){代码2}else if(条件三){代码三}......else{代码n}
-
子主题 4
-
-
三元运算符
- 三元表达式
- ? 与 : 配合使用
条件 ? 满足条件执行的代码 : 不满足条件执行的代码- 一般用来取值
-
switch语句
-
switch ( 数据) { case 值1: 代码1 break case 值2: 代码2 break default: 代码n break }
-
找到跟小括号里数据全等的case值,并执行里面对应的代码
-
若没有全等 的则执行default里的代码
-
注意
- Switch case 语句一般用于等值判断,不太适用于区间判断
- switch case 一边拿配合 break使用,没有break 会造成case穿透
- switch case比较的值全等 ===
-
-
-
循环结构
-
某段代码被重复执行
-
循环三要素
- 变量起始值
- 终止条件(没有终止条件,循环会一直执行,造成死循环)
- 变量变化量(用自增或者自减)
-
while循环
while (true) { if (条件) { break; } } // break: 可以用来跳出循环
-
for循环
-
基本使用
-
语法
for(声明记录循环次数的变量;循环条件;变化值){ 循环体 }
-
for循环优点
- 把声明起始值、循环条件、变化值写到一起,让人一目了然
-
-
循环嵌套
-
语法
for(外部声明记录循环次数的变化;循环条件;变化量){ for(内部声明记录循环次数的变化;循环条件;变化量){ 循环体 } }
-
-
for循环的最大价值
- 循环数组
-
-
for循环和while循环区别
-
for循环
- 果明确了循环的次数
-
while循环
- 不明确循环的次数
-
-
循环结束(退出)
-
continue- 跳出本次循环,继续下次循环
-
break- 跳出所在的循环
-
-
-
拓展
-
断点调试
-
作用
- 理解代码运行
- 可以更快找到bug
-
步骤
-
浏览器打开调试界面
- f12或者fn+f12打开开发者工具(鼠标右键点击检查也行)
- 点击sources一栏
- 选择代码文件
-
断点调试
- 在代码文件上添加断点
- 刷新页面
- 开始逐行调试
-
运算符
-
-
算术运算符
-
加
+- 求和
-
减
-- 求差
-
乘
*- 求积
-
除
/- 求商
-
取模
-
% -
取余数
- 开发中经常用于某个数字能否被整除
-
-
优先级
- 加减优先级相同
- 乘除取模优先级相同
- 乘除取模优先级大于加减
- 使用小括号()可以提升优先级
- 优先级越高越先被执行,优先级相同时从左向右执行
赋值运算符
-
=- 将等号 = 右边的值赋予给左边, 要求左边必须是一个容器
- 对变量进行赋值的运算符
-
其他赋值运算符
-
+= -
-= -
*= -
/= -
%= -
用法举例
- a = a + 5
- a += 5
-
作用
- 简化代码
-
一元运算符
-
依据
- 根据所需表达式的个数
-
概念
- 只需要一个表达式就可以运算的运算
-
快捷运算
-
自增运算
-
作用
- 让变量的值 +1
-
前置自增
++i- 先自加再使用
-
后置自增
i++- 先使用再自加
-
注意
- 前置自增和后置自增独立使用时二者并没有差别
- 一般开发中我们都是独立使用
- 后面 i++ 后置自增会使用相对较多
-
-
自减运算
-
自减与自增同理
-
作用
- 让变量的值-1
-
-
使用场景
- 经常用于计数来使用
-
比较运算符
-
作用
- 比较两个数据的数值或者类型是否相等
-
使用
-
>- 左边是否大于右边
-
<- 左边是否小于右边
-
> =- 左边是否大于或者等于右边
-
<=- 左边是否小于或者等于右边
-
==- 左右两边是否相等
-
===- 左右两边的数值和类型是否都相等
-
!==- 左右两边是否不全等
-
-
结果
-
boolean类型
- true
- false
-
-
拓展
-
比较运算符的本质
-
字符串比较,是比较的字符对应的ASCII码
- 从左往右依次比较
- 如果第一位一样就比较第二位,依次类推
-
-
NaN不等于任何值,包括它本身
-
尽量不要比较小数,因为小数有精度问题
- 0.1 + 0.2 > 0.3
-
不同类型之间比较会发生隐式转换
- 最终把数据隐式转换为number类型在进行比较
- 开发中推荐使用===, !==
-
= , == , ===之间的区别
-
=- 赋值
-
==-
判断
- 只要求值相等
-
-
===-
全等
- 要求值和类型都必须相等
-
-
-
逻辑运算符
-
作用
- 来解决多重条件判断
-
使用
-
逻辑与
&&- 并且
- 一假全假
-
逻辑或
||- 或者
- 一真则真
-
逻辑非
!- 取反
- 真变假,假变真(取反)
-
-
短路运算符
-
只存在于 && 和 || 中,当满足一定条件会让右边代码不执行
-
&&- 左边为false就短路
-
||- 左边为true就短路
-
-
运算符优先级
-
小括号>一元运算符>算式运算符>关系运算符>相等运算符>逻辑运算符>赋值运算符>逗号运算符
-
小括号
( )
-
一元运算符
++--!
-
算式运算符
- 先
*/%后+-
- 先
-
关系运算符
>>=<<=
-
相等运算符
==!====!==
-
逻辑运算符
- 先
&&后||
- 先
-
逗号运算符
-
,
-