目录
- 1. 运算符
- 1.1 赋值运算符
- 1.2 自增和自减运算符
- 1.3 比较运算符
- 1.4 逻辑运算符
- 1.5 展开运算符
- 1.6 运算符优先级
- 2. 分支语句
- 2.1 if
- 2.2 三元表达式
- 2.3 switch
- 3. 循环结构
- 3.1 while循环
- 3.2 for循环
- 4. 断点调试
1. 运算符
1.1 赋值运算符
- +=
- -=
- *=
- /=
- %=
1.2 自增和自减运算符
- 前置自增,先自加再使用
- 后置自增,先使用再自加
- 前置自减
- 后置自减
let num1 = 10
// 前置自增。先自加再使用
++num1
console.log(num1)
let num2 = 10
// 后置自增。先使用再自加
num2++
console.log(num2)
let num3 = 10
// 前置自减
--num3
console.log(num3)
let num4 = 10
// 后置自减
num4--
console.log(num4)
// 自增难题
// 执行过程: 1. 先执行++num5, num5 = 2
// 2. 再执行num5 + num5, 等于4
// 3. 再执行num5++, num5 = 3
// 4. 最后执行4 + num5 = 7, 结果等于7
let num5 = 1
console.log(num5++ + ++num5 + num5) // 7
console.log(num5)
1.3 比较运算符
- >: 左边是否大于右边
- <: 左边是否小于右边
- >=: 左边是否大于或等于右边
- <=: 左边是否小于或等于右边
- ==: 左右两边值是否相等
- ===: 左右两边是否类型和值都相等
- !=: 左右两边值是否不相等
- !==: 左右两边是否不全等
注意事项:
- 字符串比较,是比较的字符对应的ASCII码。从左往右依次比较,如果第一位一样再比较第二位,以此类推
- 尽量不要比较小数,因为小数有精度问题。小数相加有精度问题,可以先转换成整数进行相加,再转换成小数
- 不同类型之间比较会发生隐式转换。最终把数据隐式转换转成number类型再比较
undefined === null
为false- NaN不等于任何值,包括它本身
1.4 逻辑运算符
- &&: 逻辑与
- 逻辑与前面的表达式为false,则不再判断后面的表达式
console.log(6 && 8)
,输出的结果是能决定最终结果的表达式,这里输出8
- ||: 逻辑或
- 逻辑或前面的表达式为true,则不再判断后面的表达式
console.log(6 || 8)
,输出的结果是能决定最终结果的表达式,这里输出6
- !: 逻辑非
1.5 展开运算符
展开运算符…
, 可以将一个数组进行展开,但不修改原数组。注意: 展开数组是对数组的浅拷贝,数组中的元素如果是对象则拷贝的是地址
应用: 求数组最大值、数组合并
示例如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<script>
const arr1 = [1, 2]
const arr2 = [3, 4]
// 求数组最大值
console.log(Math.max(...arr1)) // 2
// 合并数组
console.log([...arr1, ...arr2]) // [1, 2, 3, 4]
</script>
</body>
</html>
1.6 运算符优先级
优先级 | 运算符 | 顺序 |
---|---|---|
1 | 小括号 | () |
2 | 一元运算符 | ++ – ! |
3 | 算数运算符 | 先* / % 后+ - |
4 | 关系运算符 | > >= < <= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先&& 后|| |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |
2. 分支语句
2.1 if
- 判断条件结果若不是布尔类型时,会发生隐式转换转为布尔类型
let score = 86
if(score >= 80) {
console.log('很棒')
} else if(score >= 60) {
console.log('还行')
} else {
console.log('不太行')
}
2.2 三元表达式
console.log(8 > 6 ? 8 : 6) // 8
2.3 switch
- 找到跟小括号里数据全等===的case值,并执行里面对应的代码
let num = 2
switch (num) {
case 1:
console.log('输入的是1')
break
case 2:
console.log('输入的是2')
break
default:
console.log('输入的不是1和2')
}
3. 循环结构
- continue: 跳出本次循环,执行下一次循环
- break: 跳出所有循环
3.1 while循环
let num = 1
while(num <= 3) {
console.log(num)
num++
}
3.2 for循环
for(;;)
可以构造“无限”循环,需要使用break退出循环
for(i = 1; i <= 3; i++) {
console.log(i)
}
4. 断点调试
断点调试步骤:
- 点击source,选择运行的html
- 在需要断点的地方,进行点击,就可以打断点
- 再次刷新页面,就会进入断点调试模式
- 可以点击弯箭头,跳转到下一步