1. 运算符
-
算术运算符:%为求余数,其他跟正常四则运算规则一样
-
赋值运算符:= 将等号右边的值赋予给左边,要求左边必须是一个容器
num = num + 1 可以简写成:num+=1
-
一元运算符:++或--
前置自增:++i
后置自增:i++
i++ 与 ++i 的主要区别是: i++ 先运算后自增;而++i 是先自增后运算。如果把i++赋值给别的变量,当前变量会是i还没加1的值。它们独立使用时没有区别
-
比较运算符:
==是只比对值是否相等,不比对类型。例如:2=='2'为true
===是左右两边是否类型和值都相等
!==是左右俩边是否类型和值都不相等
注意细节:
-字符串比较是比较字符的对应ASCII码,从左往右依次比较。
-NaN不等于任何值,包括它本身。
-尽量不要比较小数,小数有精度问题。
-不同类型比较会发生隐性转换,所以开发中精确比较更推荐使用===和!==
- 逻辑运算符:
短路:只存在&&和||中,当满足一定条件会让右边代码不执行
&&:左边为false就短路
||:左边为true就短路
-
运算符优先级:
一元运算符里面的逻辑 ! 优先级很高
逻辑&&比逻辑 || 优先级高
2. 表达式和语句
表达式:是一组代码的集合,js解释器会将其计算出一个结果,例:3+4
语句:js整句或命令,例:if语句,for循环语句,alert ( )
-
程序三大流程控制语句:
- 顺序结构
- 分支结构
- 循环结构
-
分支语句:
-
if分支语句:单分支,双分支,多分支
-
三元分支语句:条件 ?满足条件执行的代码:不满足条件执行的代码(比if双分支更加简单的写法,一般用来取值,比较适合简单的判断)
-
switch语句:可以让我们有选择性的执行想要的代码
-switch case语句一般用于等值判断,不适合于区间判断
-switch case一般需要配合break关键字使用,没有break会造成case穿透
-
-
循环语句:
- while循环:要满足小括号内的条件为true才会进入执行代码,直到条件不满足才会跳出循环。
- 断点调试:使用浏览器断点调试可以帮助理解代码实际运行,找到问题点
\