一、运算符
1. 比较运算符
比较运算符的结果是布尔类型
全字符串的比较,比较的是字符编码
在进行===和!==的比较时,不会进行类型的转换
== 判断两个数据值相同,如果相同返回true,否则返回false
!= 判断两个数据值不相同,如果不相同返回true,否则返回false
=== 全等
比较的两个数的值与类型必须完全相同,相同返回true,否则返回
false
!== 不全等
比较的两个数的值与类型至少有一方面不相同,有一方面不相同就
返回true,否则 返回false
2. 逻辑运算符
&& 与 一假即假
|| 或 一真即真
! 非 真假倒换
3. 优先级
逻辑非
先乘除
后加减
再比较
再逻辑(&&、||)
最后赋值
可以使用 () 来提升运算符的优先级
4. 自增 自减
i++ ++i在单独运算时没有任何区别
参与其他运算时:
前自增:先自增,再参与运算(使用本次自增后的值参与运算)
后自增:先运算(使用本次未自增的值参与运算),本次运算结束后再
自增
二、分支结构
1、if
语法:
if(表达式1){
代码块1
} else if (表达式2){
代码块2
} ...
...
else {
缺省块代码
}
后结代码...
后结代码...
逻辑:
自上而下的判断表达式是否成立,如果某个表达式成立就执行相应的代码
块。
当某个代码块执行结束后,不会再判断其后的表达式,而跳过if结构,继
续后的代码执行
如果所有的表达式都不成立,则执行缺省代码块
else if结构可以在多个
else 也可以省略的
if里面的表达式返回的 是true或者false
2、三元运算符
语法:
表达式 ? 语句1 : 语句2 ;
表达式成立执行语句1,不成立执行语句2
三元运算符就是对 if else 双分支的简化
只要代码块中只有一条语句时才可以使用 三元运算符简化
3、switch
语法:
switch(变量){
case 值1 :
代码块1
break;
case 值2 :
代码块2
break;
case 值3 :
代码块
break;
...
default:
缺省代码块
}
逻辑:
根据switch后的变量与case的值匹配情况,将程序转向不同的代
码块执行。
当代码执行结束后,遇到break就会跳过switch结构,继续后面代
码执行
当所有的值都不匹配时,执行缺省代码块。
case 结构可以有多个,default也可以省略
注意:
switch后面的变量与case后面的值的比较属于全等 ===,值和类型都
必须一样
break可以省略,实现穿透效果,可以对多个月份对应一个季节的情况
进行穿透
if语句和switch语句的区别:
if条件常用于表示一个范围
switch条件常用于一个变量和多个具体值的区别
如果遇到一个变量和多个具体值的情况,使用switch,这种情况使用
switch 效率高于if
三、布尔类型的转换
显示转换 :
Number(数据) 将其他数据类型转换为数值类型
String(数据) 将其他数据类型转换为字符串类型
Boolean(数据) 将其他数据类型转换为布尔类型
Number(true) ➡ 1
Number(false)➡ 0
只要是有意义的都会返回true
字符串‘0’ ‘空格’都有意义,返回true
数值0 字符串‘’ 都没有意义,返回false

隐式转换 :

四、for循环
语法:
for ( 循环控制变量初始化
循环体代码
循环体代码
循环体代码
}
循环逻辑:

执行逻辑:
a. 首先执行 定义一个循环控制变量, 此步仅执行1次
b. 判断 表达式 是否成立?如果不成立就直接退出整个语法结构,执行
后续代码。
如果成立就执行语句块(循环体)
c. 当 语句块(循环体) 执行结束后,再执行 循环控制变量修改
d. 再来判断 表达式 是否成立?如果不成立就直接退出整个语法结构,
执行后续代码。
如果成立就执行语句块(循环体)
e. 重复的执行 b c d
循环控制变量也可以在循环体内部被访问。