在编程语言的世界里都是由一条一条语句组成的,js也不例外。在这些语句中使用量最高的无疑是流程控制语句,而流程控制语句又可以分为两类:
1、条件控制语句
2、循环语句
下面我们来一一介绍这两种语句。
条件控制语句
条件控制语句主要分为if语句、switch语句和三元运算符。
if语句:
if语句中的指定条件会强制转化为boolean类型,这点已经在之前的类型转化中进行了说明,只有当if指定的条件为true时,才会执行其中的代码,且在if还可以接else if和else,用来表示另外一些可能的条件,接下来我们来看看代码:
//写一段代码来判断你的体重是否超标
var tall=prompt("请输入身高(单位:m)");
var weigth=prompt("请输入体重(单位:kg)");
var BMI=weigth/(tall*tall);
if(BMI<18.5){
alert("你太瘦了");//判断当BMI的值小于18.5时,弹出"你太瘦了"
}else if(BMI<23.9&&BMI>18.5){
alert("正常体重");
}else if(BMI<27.9&&BMI>24){
alert("超重");
}else if(BMI>28){
alert("轻度肥胖");
}else if(BMI>33){
alert("中度肥胖");
}else if(BMI>38){
alert("重度肥胖");
}else{
alert("你有点不正常了");//当上面的条件都不满足时,弹出"你有点不正常了"
}
document.write(BMI);
switch语句:
使用该语句来选择多个代码块之一来执行。switch 语句用于基于不同的条件来执行不同的动作。通过判断switch中传入变量的值是否等于每一个case中的值,如果等于则执行当前case中的代码,且每一个case都要进行break,不然代码会从那个case开始执行,一直执行到最后的case,所以不符合的case语句也会被执行。在switch的最后还要加上一个default,当所有case都不符合时执行default语句中的代码。下面通过一段代码来看看switch的具体使用方法:
var week=prompt("请输入星期几");
switch(week){
case "1":
alert("星期一");//当week=1时,弹出"星期一"
break;
case "2":
alert("星期二");
break;
case "3":
alert("星期三");
break;
case "4":
alert("星期四");
break;
case "5":
alert("星期五");
break;
case "6":
alert("星期六");
break;
case "7":
alert("星期天");
break;
default:
alert("请输入数字1-7");
}
三元运算符:
三元运算符本质上就是一个if语句。
基本用法:条件 ? 结果1 : 结果2
var a=5;
a = a>0 ? 100 : -100;
//相当于:
if(a>0){
a=100;
}else{
a=-100;
}
循环语句
循环语句主要分为for循环和while循环。
for循环:
语法:for (变量 = 开始值;变量 <= 结束值;变量 = 变量 + 步进值) {需执行的代码 }
for(var a=0;a<5;a++)
{
document.write("a="+a+"<br/>");
}
输出结果:
a=0
a=1
a=2
a=3
a=4
在js中for循环还有一种特殊的形式:for in 循环,用来遍历数组和对象属性
语法:for( 索引 in 对象名/数组名 )
var people={
name:"张三",
age:24,
sex:"男"
};
for(x in people)
{
document.write(people[x]+"<br/>");
}
输出结果:
张三
24
男
while循环:
语法:
while(条件)
{
循环体
}
当while中的条件为 true 时循环指定的循环体。先判断,再循环。
var a=0;
while(a<5)
{
document.write("a="+a+"<br/>");
a++;
}
输出结果:
a=0
a=1
a=2
a=3
a=4
这里我们可以看出while和for是可以相互转换的。
同时while也另外的一种形式 do while 循环,它与while循环的不同在于,先执行一次循环体再判断条件。
var a=0;
do{
document.write("a="+a+"<br/>");
a++;
}while(a<5)
输出结果:
a=0
a=1
a=2
a=3
a=4
其他语句
下面我们来讲讲在流程控制语句中常用的一些其他语句。
1、break语句:用于跳出循环。
这个语句我们在switch中已经见到过了,但是它的真实用处是用来跳出一个循环。
for(var a=0;a<8;a++){
if(a==5){
break;//强制退出整个循环
}
document.write("a="+a+"<br/>");
}
输出结果:
a=0
a=1
a=2
a=3
a=4
2、continue语句:用于跳过循环中的一个迭代。
for(var a=0;a<8;a++){
if(a==5){
continue;//跳出循环的当前迭代,还会继续执行后面的循环
}
document.write("a="+a+"<br/>");
}
输出结果:
a=0
a=1
a=2
a=3
a=4
a=6
a=7