分支语句
if
1. 单分支
if(条件表达式){
条件成立执行该位置代码
}
2. 双分支
if(条件表达式){
条件成立执行该位置代码
}else{
条件不成立执行该位置代码
}
3. 多分支
if(条件表达式1){
条件表达式1成立执行该位置代码
}else if(条件表达式2){
条件表达式2成立执行该位置代码
}else if(条件表达式3){
条件表达式3成立执行该位置代码
}else{
以上条件都不满足,则执行该位置代码
}
switch
switch(变量、值){
case 值1:
// 如果括号内的变量和值和值1相等,则执行这里的代码块
代码块
break;
case 值2:
// 如果括号内的变量和值和值1相等,则执行这里的代码块
代码块
break;
default:
// 上述的值和括号内的变量不匹配,则执行这里的代码块
代码块
break;
}
switch和if的区别
1. if判断是在一个区间范围内,得到的结果是boolean类型
2. switch判断当前的值是否是相等的,判断相等用的是"==="
隐式转换
在运算、比较、逻辑等过程找那个根据的类型会转换相应的类型
// 字符串隐式转换
// 加号的某侧有字符串的情况,默认是字符串拼接
var a = '哈哈';
var a1 = 2;
console.log(a + a1); // 哈哈2
// 数学运算 除了加号,有数值类型的默认会进行数学运算
var b = 2;
var b1 = '1';
console.log(b - b1); // 1
// 比较运算
var c = '你'; // 转换为数字类型的时候得到的是NaN
var c1 = 2;
console.log(c<c1); // false
var c2 = 'a';
var c3 = 'b';
console.log(c2>c3); // ASCII码表
NaN:not a number 不是一个数字
- 没有办法决定NaN具体是多少 => 数字类型
- 两个NaN比较是不相等的
循环语句
代码重复执行
while
语法:
while(判断条件){
符合判断条件重复执行的代码块
}
do...while
语法:
do{
重复执行的代码块
}while(判断条件)
while 和 do...while的区别
1. while是根据条件判断才执行代码
2. do...while是先执行一次代码,后在进行条件的判断
For循环
语法:
for(变量的初始值;判断的条件;变量的变化){
重复执行的代码块
}
For循环嵌套
语法:
for(变量的初始值;判断的条件;变量的变化){
for(变量的初始值;判断的条件;变量的变化){
重复执行的代码块
}
}
循环语句的控制
1. break关键字
表示终止结束当前程序,可以使整个循环结束运行
eg:
for(var i = 1;i <= 5;i++){
if(i == 3){
break;
}
document.write(i); // 12
}
2. continue关键字
表示可以跳过本次循环,直接进行下一次循环
eg:
for(var i = 1;i <= 5;i++){
if(i == 3){
continue;
}
document.write(i); // 1245
}