条件语句
通常在写代码时,可以根据不同的条件来执行不同的语句块,通过判断条件表达式的结果为true或false来决定要执行哪一个语句块。
在JavaScript中,我们可使用以下条件语句:
if语句
只有当指定条件为true时,该语句才会执行代码。
格式如下:
if(条件表达式)
{
语句块1;
}
语句块2;
注意:请使用小写的if。使用大写字母(IF)会生成JavaScript错误!
实例:
var score = prompt("请输入成绩")
if(score>61)
{
alert("考试及格!")
注意:在这个语法中,没有...else...。你已经告诉浏览器只有在指定条件为true时才执行带码。
if...else语句
请使用 if...else语句在条件为true时执行代码,在条件为false时执行其他代码。
格式如下:
if(条件表达式)
{
语句块1;
}
else
{
语句块2;
}
实例:
var score = prompt("请输入成绩")
if(score>61)
{
alert("考试及格!");
}
else
{
alert("考试不及格");
}
多重if语句
在if语句中,如果判断的条件多于一个,则可以使用多重if语句。
格式如下:
if(条件表达式1)
{
语块1;
}
else if(条件表达式2)
{
语块2;
}
...
else if (条件表达式n)
{
语块n;
}
else
{
语块n+1;
}
实例:
var score = prompt ("请输入成绩")
If (score >=90)
{
alert ("你的成绩一级棒啊!");
}
else if (score >=80 && score<90)
{
alert("你的成绩优秀啊!");
}
else if (score >=70 && score<80)
{
alert("你的成绩良好啊!");
}
else if (score >=60 && score<70)
{
alert("你的成绩一般般啊!");
}
else{
alert("你的成绩很差啊!");
}
在这里需要注意两点:
一个是“短路”的问题。JavaScript与Java一样,把“&&”和“||”称为“短路与”和“短路或”。
另一个是多重if语句中的else匹配问题,在编程中称作else的悬挂问题。程序中规定,else语句总是和它最近的if语句匹配。
嵌套if语句
如果在if语句中在嵌入if语句就形成了嵌套的if语句。
实例:
var a =10,b =8,c =4;
if (a>b)
{
else if (a>c)
{
alert ("最大的数是a!");
}
else
{
alert("最大的数是c!");
}
else
{
if(b<c)
{
alert("最大的数是c")
}
else
{
alert ("最大的数是b")
}
}
switch结构
switch结构用于将一个表达式的结果同各个选项进行比较,若找到匹配的选项,就执行匹配选项中的语句。如果没有匹配的选项,就直接执行默认选项中的语句。
格式如下:
switch(表达式)
{
case 条件1: 语块1;
break;
case 条件2: 语块2;
break;
...
case 条件n: 语块n;
break;
default:语句块n+1;
}
实例:
var grade = prompt("请输入学期号(1-3):");
switch (grade)
{
case"1":
alert("本学期我们学习的课程有HTML、Java基础、SQL基础!");
break;
case "2":
alert("本学期我们学习的课程有JS、J2SE、SQL高级!");
break;
case"3"
alert("本学期我们学习的课程有Struts、Spring、Hibernate!");
break;
default:
alert("你输入的学期号有误!");
}
注意:在switch结构中,自动类型转换将不会产生,因此上例中如果在switch结构中和整数进行比较判断,如将case"1"改为case1将会报错。