目录
一、if条件语句
if:判断表达式内容,如果为true(真),就执行语句
else if:如果if的判断没有通过,则进行下面的else if,如果当前的else if判断通过,则执行当前else if的语句。如果没通过,则一直执行下面的else if判断
else:else为最后的分支,如果在else之前的if、else if判断都没有通过就会执行else
if(true){}else{}
if else if else
function exchange(num) {
if (num && typeof num == 'number') {
//typeof num=='number' && 0<num and num<=10
if (num > 0 && num <= 10) {
if (num == 1) {
result = "壹";
} else if (num == 2) {
result = "贰";
} else if (num == 3) {
result = "叁";
} else if (num == 4) {
result = "肆";
} else if (num == 5) {
result = "伍";
} else if (num == 6) {
result = "陆";
} else if (num == 7) {
result = "柒";
} else if (num == 8) {
result = "捌";
} else if (num == 9) {
result = "玖";
} else {
result = "拾";
}
} else if(num > 10) {
result = "请输入不大于10的数字";
} else{
result = "请输入不小于0的数字";
}
} else if (num == 0) {
result = "零";
} else {
result = "请输入数字";
}
console.log(result);
}
exchange(0);//零 else-if
exchange(-120);
exchange(100);
exchange('as');
exchange();
console.log(typeof 0)
var num = 0;
if(num){
console.log('满足条件')
}else{
console.log('不满足条件');
}
运行结果如下:
二、for循环
for(开始条件;结束条件;迭代条件){
循环体
}
大括号内的内容称为循环体(就是循环执行的内容)。
注意:循环体内是可以包含很多条语句的。
var arr = [1,2,3,4,5,6];
console.log(arr.length);//数组长度等于数组元素个数
// 使用for循环 循环遍历数组每一个元素
// for(开始条件;结束条件;迭代条件){
// 循环体
// }
for(var i=0;i<arr.length;i++){
console.log(i,'数组元素对应的下标',arr[i],'数组每一项')
}
运行结果如下:
三、switch语句
switch(表达式){
case 常量表达式1: 语句1;
case 常量表达式2: 语句2;
…
case 常量表达式n: 语句n;
default: 语句n+1;
}
意思是先计算表达式的值,再逐个和case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行default后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有case后的语句。
与if语句的不同:If语句中若判断为真则只执行这个判断后的语句,执行完就跳出if语句,不会执行其他if语句;而switch语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有case语句。在每一case语句之后增加break 语句,使每一次执行之后均可跳出switch语句,从而避免输出不应有的结果。
注意:
1.case后的常量表达式不能相同;
2. case后的语句可以有多个且不用花括号括起来;
3.case和default子句的先后顺序可以先后变动,default子句可以省略不用;
// 输出今天周几
var day = new Date().getDay();//0-6 1-5周一周五 6周六 0周日 1-12月 0-11月
switch (day) {
case 0:
console.log('今天是周日');
break;
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;
case 6:
console.log('今天是周六');
break;
}
var day = new Date().getDay();//0-6 1-5周一周五 6周六 0周日 1-12月 0-11月
switch (day) {
case 5:
console.log('今天是周五');
break;
case 6:
console.log('今天是周六');
break;
default:
console.log('期待周末');
}
运行结果如下:
四、while循环
这种循环也是很常用的,也十分好理解,其实跟for循环差不多,只不过是把初始化条件写到外面了,把增值表达式写到里面了。
while(条件){
循环体
迭代条件
}
我们只要写好控制语句,每次执行循环体前就会先判断下循环控制表达式是否为真,为真就继续执行循环,否则就结束循环。
注意:如果在循环体内忘了对影响循环控制表达式的变量(就是这个 n)进行改变,就会使这个循环变成死循环(一直执行)
var n=10;
while(n>0)
{
console.log("我是一个while循环");
n--;
}
运行结果如下:
五、do-while循环
while循环执行循环体前都会先判断下(执行循环控制表达式),而do-while循环会在执行循环控制表达式前先执行一遍循环体(这第一遍循环体是不进行判断的,直接执行)
do{
循环体无论满不满足条件都会执行一次
}while(条件)
var n=10;
do
{
console.log("此时的n=",n);
n--;
}while(n>0);
运行结果如下: