所谓条件控制语句就是对语句中不同条件的值进行判断,进而根据不同的条件执行不同的语句。条件的控制语句主要有两类:一类是if语句以及该语句的各种变种:另一类是switch多分支语句。
通常在写代码时,您总是需要为不同的决定来执行不同的动作。您可以在代码中使用条件语句来完成该任务。
在 JavaScript 中,我们可使用以下条件语句:
if语句是最基本,最常用的条件控制语句,通过判断条件表达式的值为true或者false,来确定是否执行某一条语句。
if(expression){
statement
}
其中,expression是必选项,用于指定if语句执行的条件。当expression的值为true时执行大括号{}中的statement;当expression的值为false时不执行大括号{}中的内容,而执行其他的语句。statement是可选项,设置当expression的值为true时执行的语句块。
判断变量的值是否为空:
var form="";
if(form==" "){
alert("变量的内容为空! ");
}
//运行·结果:变量的内容为空!。
在上述代码中,首先定义一个变量,并设置变量的值为空,然后应用if语句判断变量的值,如果只为空,则弹出提示信息“变量的内容为空”,否则没有任何信息输出。
例如:
var score=promt('请输入成绩');
if(score>80){
alert('及格');
}
if语句常用于通过JavaScript脚本来控制表单提交的数据,判断表单提交的数据是否为空,
或者判断提交的数据是否符合标准等。
if…else语句是if语句的标准形式,在if 语句简单形式的基础上增加一个else从句,当expression的值为false时执行else从句中的内容,其语法格式如下:
if(expression){
statement1
}else{
statement2
}
在if…else语句中,首先判断expression的值,如果它的值为true,则执行statement1语句块中的内容,否则执行statement2语句块中的内容。
var form=0; //定义一个变量,值为0
if(form==1){ //判断变量的值是否为1
alert("form==1"); //如果变量的值为1,则弹出form==1
}else{ //使用else从句
alert("form!=1"); //如果变量的值不为1,则弹出form1=1
}
运行结果为:
form!=1
例子:根据日份输出对应的季节
(12、1、2为冬季|3、4、5为春季|6、7、8为夏季|9、10、11为秋季)
var month=prompt('请输入月份');
if(month==12||month==1||month==2){
alert('冬季'); //输出为冬季
}else if(month==3||month4||month==5){
alert('春季'); //输出为春季
}else if(month==6||month7||month==8){
alert('夏季'); //输出为夏季
}else if(month==9||month10||month==11){
alert('秋季'); //输出为秋季
标准的if…else if…else if语句可以根据表达式的结果判断一个条件,然后根据返回的值执行两条代码中的一条。如果要执行多条代码中的一条则应该使用else if语句,通过else if语句可以对多个条件进行判断,并且根据判断的结果执行不同的语句。
使用 if…else if…else 语句来选择多个代码块之一来执行。
语法:
if (condition1)
{
当条件 1 为 true 时执行的代码
}
else if (condition2)
{
当条件 2 为 true 时执行的代码
}
else
{
当条件 1 和 条件 2 都不为 true 时执行的代码
}
实例
如果时间小于 10:00,则生成问候 “Good morning”,如果时间大于 10:00 小于 20:00,则生成问候 “Good day”,否则生成问候 “Good evening”:
if (time<10)
{
document.write("早上好");
}
else if (time>=10 && time<16)
{
document.write("今天好");
}
else
{
document.write("晚上好!");
}
//x 的结果是:
今天好
if语句不仅仅单独使用,还可以嵌套使用。即在if语句的从句部分嵌套另一个完整的if语句。在if语句中嵌套使用if语句,其外层if语句从句部分的大括号{}可以省略。但是,在使用嵌套的if语句时,最好使用大括号{}来确定相互之间的层次关系。否则,由于大括号{}使用位置的不同,可能导致程序代码的含义完全不同,从而输出不同的内容。例如,在下面的两个实例中由于大括号{}的位置不同,结果导致程序的输出结果完全不同。
在外层if语句中应用大括号{},首先判断外层if语句m的值是否小于1,如果m小于1,则执行下面的语句;然后判断外层if语句m的值是否大于10,如果是执行下面的语句,程序关键代码如下:
var m=12;n=m;
if(m<1){ //首先判断外层if语句m的值是否小于1,如果m小于1则执行下面的内容
if(n==1) //在m小于1时,判断嵌套的if语句中n的值是否等于1,如果n等于1则输出下面的内容
alert("判断m1小于1,n等于1");
else
alert("判断m小于1,n不等于1");
}else if(m>10){ //判断外层if语句m的值是否大于10.如果m满足条件,则执行下面的语句
if(n==1)
alert("判断m大于10,n等于1");
else //n不等于1,则执行下面的语句
alert("判断m大于10,n不等于1");
}
//运行结果:
判断m大于10,n等于1
在嵌套应用if语句的过程中,最好使用大括号{}确定程序代码的层次关系