if
1.if第一种形式
if(条件表达式){
条件满足执行的语句;
}
2.if第一个形式的特点
当条件表达式为真的时候就会执行{}中所有的代码, 并且只会执行一次
1.if第二种形式
if(条件表达式){
条件成立执行的语句;
}else{
条件不成立执行的语句;
}
2.if第二种形式的特点
当条件满足就执行if后面{}中的代码
当条件不满足就执行else后面{}中的代码
并且两个{}只有一个会被执行, 并且只会被执行一次
1.if第三种形式
if(条件表达式A){
条件A满足执行的语句;
}else if(条件表达式B){
条件B满足执行的语句;
}
... ...
else{
前面所有条件都不满足执行的语句;
}
2.if第三种形式的特点
会从上至下的依次判断每一个条件表达式, 哪一个条件表达式满足, 就执行哪一个条件表达式后面{}中的代码
如果前面所有的条件表达式都不满足, 就会执行else后面{}中的代码
并且众多的大括号只有一个会被执行, 并且只会执行一次
if注意点
1.对于非布尔类型的数据, 会先转换成布尔类型再判断
2.对于==/===判断, 将常量写在前面
3.if/else if/else后面的大括号都可以省略, 但是省略之后只有紧随其后的语句受到控制
4.在JavaScript中分号(;)也是一条语句(空语句)
5.if选择结构可以嵌套使用
6.当if选择结构省略大括号时, else if/else会自动和距离最近没有被使用的if匹配
在企业开发中, 如果条件满足之后只有一句代码需要执行, 那么就使用三目运算符
在企业开发中, 如果条件满足之后有多句代码需要执行, 那么就使用选择结构
switch
1.switch格式:
switch(表达式){
case 表达式A:
语句A;
break;
case 表达式B:
语句B;
break;
... ...
default:
前面所有case都不匹配执行的代码;
break;
}
2.switch特点
会从上至下的依次判断每一个case是否和()中表达式的结果相等, 如果相等就执行对应case后面的代码, 如果前面所有的case都不匹配, 那么就会执行default后面的代码
并且所有的case和default只有一个会被执行, 并且只会被执行一次
switch注意点
1.case判断的是===, 而不是==
2.()中可以是常量也可以是变量还可以是表达式
3.case后面可以是常量也可以是变量还可以是表达式
4.break的作用是立即结束整个switch语句
在switch语句中一旦case或者default被匹配, 那么其它的case和default都会失效
5.default不一定要写在最后
switch中的default无论放到什么位置, 都会等到所有case都不匹配再执行
6.和if/else中的else一样, default也可以省略
在企业开发中如果是对区间进行判断, 那么建议使用if
在企业开发中如果是对几个固定的值的判断, 那么建议使用switch
原则: 能用if就用if
while循环
1.if的格式
if(条件表达式){
条件满足执行的语句;
}
if的特点: 只有条件表达式为真才会执行后面{}中的代码
大括号中的代码只会被执行一次
2.while的格式
while(条件表达式){
条件满足执行的语句;
}
while的特点: 只有条件表达式为真才会执行后面{}中的代码
大括号中的代码有可能会被执行多次
3.while的执行流程
3.1首先会判断条件表达式是否为真, 如果为真就执行后面{}中的代码
3.2执行完后面{}中的代码, 会再次判断条件表达式是否还为真
3.3如果条件表达式还为真, 那么会再次执行后面{}中的代码
3.4重复3.1~3.3, 直到条件表达式不为真为止
while注意点
1.什么是死循环?
// 条件表达式永远为真的循环结构我们称之为死循环
// 2.什么是循环体?
// 循环结构后面的{}我们称之为循环体
3.和if一样对于非Boolean类型的值, 会先转换为Boolean类型再判断
4.和if一样while 后如果只有一条语句它可以省略大括号
5.和if一样, 不能在()后面写分号(;)
dowhile循环\
1.while循环的格式
while(条件表达式){
需要重复执行的代码;
}
while循环的特点: 只有条件表达式为真, 才会执行循环体
2.dowhile循环的格式
do{
需要重复执行的代码;
}while(条件表达式);
dowhile循环的特点: 无论条件表达式是否为真, 循环体都会被执行一次
1.在企业开发中大部分情况下while循环和dowhile循环是可以互换的
2.在企业开发中如果循环体中的代码无论如何都需要先执行一次, 那么建议使用dowhile循环
3.在企业开发中其它的情况都建议使用while循环
变量作用域
1.在JavaScript中定义变量有两种方式
ES6之前: var 变量名称;
ES6开始: let 变量名称;
2.两种定义变量方式的区别
如果通过var定义变量, 可以重复定义同名的变量, 并且不会报错, 并且后定义的会覆盖先定义的
如果通过var定义变量, 可以先使用后定义(预解析)
如果通过let定义变量, 不可以重复定义同名的变量
如果通过let定义变量, 不可以先使用再定义, 因为浏览器不会对let定义的变量进行预解析
3.什么是全局变量
全局变量就是定义在{}外面的变量, 我们就称之为全局变量
4.什么是局部变量
局部变量就是定义在{}里面的变量, 我们就称之为局部变量
5.全局变量和局部变量的区别
如果是全局变量, 那么有效范围是从定义变量的那一行开始直到文件的末尾都可以使用
如果是局部变量, 那么有效范围是从定义变量的那一行开始直到大括号结束为止(只有在大括号中才能使用)
for循环
1.for循环的格式
1 2/5/8 4/7
for(初始化表达式;条件表达式;循环后增量表达式){
3/6
需要重复执行的代码;
}
2.for循环的特点
for循环的特点和while循环的特点一样, 只有条件表达式为真, 才会执行循环体
3.for循环的执行流程
3.1首先会执行初始化表达式, 并且只会执行一次
3.2判断条件表达式是否为真, 如果条件表达式为真, 就执行循环体
3.3执行完循环体就会执行循环后增量表达式
3.4重复3.2~3.3, 直到条件表达式不为真为止
for和while如何选择
在企业开发中由于for循环比while循环要灵活, 所以能用for循环就用for循环
for注意点
1.在for循环中"初始化表达式""条件表达式""循环后增量表达式"都可以不写
for(;;){ //for循环是可以省略条件表达式的, 默认就是真
break关键字
1.什么是break关键字?
break关键字可以用于switch语句和循环结构中
在switch语句中break关键字的作用是立即结束当前的switch语句
在循环结构中break关键字的作用也是立即结束当前的循环结构
2.break关键字的注意点
2.1break关键字后面不能编写任何的语句, 因为永远执行不到
2.2如果在循环嵌套的结构中, break结束的是当前所在的循环结构
continue关键字
1.什么是continue关键字?
continue关键字只能用于循环结构
在循环结构中continue关键字的作用是跳过本次循环, 进入下一次循环
2.continue关键字的注意点
2.1continue关键字后面和break一样, 不能编写其它的代码, 因为执行够不到
2.2和break一样, 如果continue出现在循环嵌套结构中, 只会跳过当前所在的循环