1.运算符
1.1赋值运算符
对变量进行赋值的运算符
已经学过的赋值运算符:= 将等号右边的值赋给左边,要求左边必须是一个容器
其他赋值运算符:
+=
-=
*=
/=
%=
let num = 1
num += 1
console.log(num) //2 等价于num = num + 1
1.2一元运算符
众多的JavaScript的运算符可以根据所需表达式的个数,分为一元运算符、二元运算符、三元运算符
自增
符号:++
作用:让变量的值+1
前置自增:
每执行1次,当前变量数值加1
其作用相当于num+=1
let i = 1
++i
console.log(i) //2
后置自增:
每执行1次,当前变量数值加1
其作用相当于num+=1
let n = 1
n++
console.log(n) //2
前置自增&后置自增区别:
前置自增先自加再使用,后置自增先使用再自加。
let i = 1
console.log(++i + 1) //3
let n = 1
console.log(n++ + 1) //2
自减
符号:--
作用:让变量的值-1
参考以上自加。
1.3比较运算符
>:左边是否大于右边
<:左边是否小于右边
>=:左边是否大于或等于右边
<=:左边是否小于或等于右边
==:左右两边值是否相等
===:左右两边是否类型和值都相等
!==:左右两边是否 不全等
比较结果为boolean类型,即只会得到true或false
字符串比较,是比较字符对应的ASCll码
从左往右依次比较
如果第一位一样再比较第二位,以此类推
比较的少,了解即可
NaN不等于任何值,包括自身
涉及到“NaN”,都是false
尽量不要比较小数,小数有精度问题
不同类型之间比较会发生隐式转换
最终把数据隐式转换成number类型再比较
所以开发中,如果进行准确的比较更喜欢用===或!==
![](https://img-blog.csdnimg.cn/img_convert/0818f17f595d7d31e869ff3e6b2bf48a.png)
1.4逻辑运算符
符号 | 名称 | 日常读法 | 特点 | 口诀 |
&& | 逻辑与 | 并且 | 符号两边都为true 结果才为true | 一假则假 |
|| | 逻辑或 | 或者 | 符号两边有一个true就为true | 一真则真 |
! | 逻辑非 | 取反 | true变false false变true | 真变假,假变真 |
![](https://img-blog.csdnimg.cn/img_convert/656c0c7a55b14a0d9a79d9b382169181.png)
1.5运算符优先级
优先级 | 运算符 | 顺序 |
1 | 小括号 | () |
2 | 一元运算符 | ++ -- ! |
3 | 算数运算符 | 先*/%后+ - |
4 | 关系运算符 | >、>=、<、<= |
5 | 相等运算符 | == != === !== |
6 | 逻辑运算符 | 先&& 后|| |
7 | 赋值运算符 | = |
8 | 逗号运算符 | , |
2.语句
2.1表达式和语句
表达式:
表达式是可以被求值的代码,JavaScript引擎会将其计算出一个结果。
例:
x = 7
3 + 4
num++
语句:
语句是一段可以执行的代码。
区别
表达式:因为表达式可被求值,所以它可以写在赋值语句的右侧。(num = 3 + 4)
语句:而语句不一定有值,所以比如alert()for 和break等语句就不能被用于赋值。(alert()弹出对话框 console.log()控制台打印输出)
2.2分支语句
可以让我们有选择性的执行想要的代码
if分支语句
三元运算符
switch语句
2.2.1if分支语句
if语句有三种使用:单分支、双分支、多分支
单分支使用语法:
if (条件) {
满足条件要执行的代码
}
括号内的条件为true时,进入大括号里执行代码
小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型
如果只有一个语句,大括号可以省略,但不提倡
注:
除了0,所有数字都为真
除了''空字符串,所有字符串都为真
双分支if语法:
if (条件) {
满足条件要执行的代码
} else {
不满足条件要执行的代码
}
多分支if语法:
if (条件1) {
代码1
} else if (条件2) {
代码2
} else if (条件3) {
代码3
} else {
代码n
}
2.2.2三元运算符
符号:?与:配合使用
语法:
条件 ? 满足条件执行的代码 : 不满足条件执行的代码
2.2.3switch语句
语法:
switch (数据) {
case 值1:
代码1
break
case 值2:
代码2
break
default:
代码n
break
}
释义:
找到跟小括号里数据全等的case值,并执行里面对应的代码
若没有全等===的,则执行default里的代码
例:数据若跟值2全等,则执行代码2
注:
switch case语句一般用于等值判断,不适合于区间判断
switch case一般配合break关键字使用 没有break会造成case穿透
2.3循环结构
2.3.1断点调试
作用:学习时,可以帮助更好地理解代码运行,工作时可以更快找到bug
浏览器打开调试界面
打开检查
点到source一栏
选择代码文件
2.3.2while循环
满足条件期间,重复执行某些代码。
while循环基本语法:
while (循环条件) {
要重复执行的代码(循环体)
}
释义:
小括号条件为true才会进入循环体执行代码
while大括号里代码执行完毕后不会跳出,而是继续回到小括号例判断条件是否满足,若满足又执行大括号里的代码,然后再回到小括号判断条件,直到括号内条件不满足,即跳出。
while循环三要素
变量起始值
终止条件(没有终止条件,循环会一直执行,造成死循环)
变量变化量(用自增或自减)
循环退出
break和continue区别
break:退出整个循环,一般用于结果已经得到,后续循环不需要的时候使用
continue:结束本次循环,继续下次循环,一般用于排除或者跳过某一个选项的时候