运算符
- 相等运算符
==,相等
- 比较两个值是否相等,会进行自动的类型转换
!=,不等
- 比较两个值是否不等,会进行自动的类型转换
===,全等(*****)
- 比较两个值是否全等,不会进行自动的类型转换
!==,不全等(*****)
- 比较两个值是否不全等,不会进行自动的类型转换
**注意:
1.NaN不和任何值相等,包括它自身加粗样式
2.null和undefined相等但是不全等**
**- 条件运算符(三元运算符)
- 语法:条件表达式?语句1:语句2
- 执行流程:
条件运算符在执行时,先对条件表达式进行求值判断,
如果为true,则执行语句1
如果为false,则执行语句2**
- 运算符的优先级
- JS中的运算符具有优先级,可以根据优先级的表格进行查询
在表格中越靠上的优先级越高,优先级越高越先计算,
优先级一样自左向右计算。
- 优先级不需要记忆,遇到不确定可以使用()来改变优先级
let a;
let b;
a = b = 1; // a = 1 b = 1
let a = b = 1; // let a = 1 b = 1
-
**代码块
- 代码块{},用来为代码分组,同一代码块中的代码要么都执行,
要么都不执行。 - 块作用域
- 使用let声明的变量具有块作用域,在代码块外部无法访问代码块中的变量
- 使用var声明的变量没有块作用域,在代码块外部也可以访问**
- 代码块{},用来为代码分组,同一代码块中的代码要么都执行,
-
流程控制语句:
if语句
- if
- 语法:
if(条件表达式){
语句…
}- if-else - 语法: if(条件表达式){ 语句... }else{ 语句... } - if-else if-else - 语法: if(条件表达式){ 语句... }else if(条件表达式){ 语句... }else if(条件表达式){ 语句... }else{ 语句... } **- 执行流程: if语句执行时,会自上向下对条件表达式进行求值判断, 如果为true,则执行if后的语句,执行完毕语句结束 如果为false,则继续向下判断,直到找到true为止 如果所有的都是false,则执行else后的语句**
switch-case
语法:
switch(条件表达式){
case 表达式:
语句…
break;
case 表达式:
语句…
break;
case 表达式:
语句…
break;
default:
语句…
break;
}**执行流程: switch-case在执行时, 会自上向下依次将switch后的条件表达式和case后的表达式进行全等比较 如果为true,则自当前case处开始向下执行代码 如果为false,则继续向下判断,直到有true为止 如果所有的都是false,则自default处开始向下执行代码**
循环语句:
- 循环语句可以使代码反复的执行多次
- while循环:
while(条件表达式){
语句…
}
- 执行流程:
while循环在执行时,先对条件表达式进行求值判断,
如果为false,则语句直接结束
如果为true,则执行循环体,执行完毕继续对条件表达式进行求值判断以此类推…