JS条件语句
条件语句是基于不同的条件来执行不同的动作。
在JS中,有以下几种条件语句:
- if 语句
只有当指定条件为true或者可以被转换为true时,使用该语句来执行代码。 - if…else 语句
当条件为true时执行if代码块的内容,否则执行else代码块的内容。 - if…else if…else 语句
当条件1为true,执行if代码块1的内容;否则继续判断条件2。当条件2为true时,执行if代码块2的内容;否则执行else代码块的内容。 - switch 语句
if-else分支较多,代码繁琐时,用switch更简洁一些。
if 语句
if(条件表达式){
//if代码块
};
if…else 语句
if(条件表达式){
//if代码块
}else{
//else代码块
};
if…else if…else 语句
if(条件表达式1){
//if代码块1
}else if(条件表达式2){
//if代码块2
}else{
//else代码块
};
练习:提供函数,显示当前的星期。
function foo(num){
if(num === 1){
console.log("周一");
} else if(num === 2){
console.log("周二");
} else if(num === 3){
console.log("周三");
} else if(num === 4){
console.log("周四");
} else if(num ===5 ){
console.log("周五");
} else {
console.log("周末");
}
}
foo(2); //输出:周二
switch 语句
switch(v){
case c1:
...
break;
case c2:
...
break;
case c3:
...
break;
default:
...
}
v 表示变量,c1、c2、c3、… 表示常量。当 v === c1的时候,执行c1代码块中的内容,break表示跳槽switch代码块,如果不加break,后续代码都会执行直到遇到break或者switch结束。
default代码块可以位于switch中的任意位置,但是要注意,如果不是位于最下方,一定在代码块中添加break。
练习:提供函数,显示当前的星期。
function foo(num){
switch(num){
case 1:
console.log("周一");
break;
case 2:
console.log("周二");
break;
case 3:
console.log("周三");
break;
case 4:
console.log("周四");
break;
case 5:
console.log("周五");
break;
default:
console.log("周末");
}
}
foo(2); //输出:周二
JS循环语句
当希望重复执行同一段代码,并且每一次的值都不同时,可以使用循环语句。
JS中,支持的循环类型有以下几种:
- for
循环代码执行一定的次数。 - while
当循环次数不确定时使用,要先判断执行条件是否为true。 - do/while
不管条件是否为true,都会先执行一次,然后再判断条件是否为true。 - for/in
循环遍历一个对象的全部属性或者一个数组的全部元素。
for循环
for(初始化条件;结束判定条件;迭代){
循环体
}
练习1:1 ~ 100累加(一重循环)。
var num = 0;
for(var i = 0 ; i < 100 ; i ++){
num += i;
};
console.log(num);
练习2:九九乘法表(多重循环)。
for(var i = 1;i<=9;i++){
var num = " ";
for(var j = 1;j<=i;j++){
num +=(j + " * " + i + " = " + i*j) + (i*j >9?" ":" ");
};
console.log(num);
};
while 循环
初始化条件
while(结束判定条件){
迭代
};
练习:1 ~ 100累加。
var i = 1;
var result = 0;
while(i < = 100){
result += i;
i++;
};
console.log(result);
do-while 循环
初始化条件
do {
迭代
} while(结束判定条件);
练习:1 ~ 100累加。
var i = 1;
var result = 0;
do {
result += i;
i++;
} while(i < = 100);
console.log(result);
for-in 循环
var arr = [12,43,4,67,23];
var obj = {
name:"Terry",
gender:"male",
};
//遍历数组arr的所有元素
for(var num in arr){
console.log(num,arr[num]);
};
//遍历对象obj的所有属性
for(var key in obj){
console.log(key,obj[key]);
};