if()语句:
语法结构:
if(判断条件){
判断结果为真,执行的代码
}else{
判断结果为假,执行的代码
}
if()语句还有一种简便的写法:
(判断条件)?“判断结果为真,执行的代码” : “判断结果为假,执行的代码”
(a > b) ? c : d;
用if()语句测试多个条件:
利用“嵌套”的多个if和else语句可以检测多个条件,分别执行不同的操作。
if(temperature < 64){
message = "Turn on the heating!";
heatingStatus = "on";
fanStatus = "off";
}else if(temperature >72){
message = "Turn on the fan!";
heatingStatus = "off";
fanStatus = "on";
}else {
message = "Temperature is OK";
heatingStatus = "off";
fanStatus = "off";
}
switch语句
如果需要对同一个条件语句的多重不同可能进行判断,更简洁的语法是使用javascript的switch语句,
switch(color){
case "red" :
message = "Stop!";
break;
case "yellow" :
message = "Pass with caution";
break;
case "green" :
message = "Come on through";
break;
default :
message = "Traffic light out of service . Pass only with gerat care";
}
关键字switch之后用圆括号包含要判断的变量。
实际的判断操作位于一堆花括号里面,每个case语句对应的值包括在引号里,然后是一个冒号,接着是满足当前条件要执行的语句,语句的数量没有限制。
需要注意的是每个case离得break语句,他会在case部分的语句执行完成之后,把程序赚到switch语句的结尾,如果没有这个break语句,就可能有多个case区域的语句被执行。
default部分是可选的,可以在任何case都不匹配的情况下执行一些操作。但不建议不写。
逻辑操作符
有的时候需要判断组合条件来决定进行什么操作,这时使用if....else...或switch语句都会显得不那么简洁。
逻辑操作符有:
&& (与) || (或)
循环和控制结构
if语句可以看作是程序执行的交叉口,根据对数据的判断结果,程序从不同的路径上执行语句,
在很多情况下,我们需要把某个操作反复进行,如果这种操作的次数是固定的,我们当然可以利用多个if语句,并且利用好一个变量进行计数,但代码会变的很多,并且不容易阅读,而且,如果代码段需要重复的次数是不确定的,比如保存变量离得会改变的数值,那么就需要用到循环结构来实现了。
while
while语句和if语句类似
while(判断条件){
条件成立执行的代码
}
例子:
var count = 10;
var sum = 0;
while(count >0){
sum = sum + count;
count -- ;
};
alert(sum);
只要while判断条件的结果是true ,花括号里面的语句就会呗反复执行,也就是不断把count的当前值累加到变量sum中。
当count减少为0时,条件不成立,循环就会停止,程序继续执行花括号后面的语句。这时,变量sum中的值是:
10+9+8+7+6+5+4+3+2+1=55。
do.....while
do...while结构在操作上与while很相似,但有一个重要的区别,他的语法如下:
do{
执行代码
}while(判断条件)
真正的区别在于,由于while语句出现在花括号后面,在执行条件判断之前,代码块会执行一次。因此,do....while语句里面的代码块至少会被执行一次。
for循环
for循环也类似while,但愈发更复杂一点,在使用for循环时,我们可以指定初始化条件,判断条件(用于结束循环),每次循环后修改计数变量的方式,这些都在一个语句里。具体如下:
for(x=0;x<10;x++){
执行的代码
}
这个语句的含义是:
x的初始值是0,当x小于10时,每次循环之后把x的值加1,执行相对应的代码块。
例子:
var count;
var sum = 0;
for(x=0;x<10;x++){
sum = sum + count;
}
如果没有提前声明计数变量,可以在for语句中使用关键字var进行声明,这是一种很简单的方式。
var sum = 0;
for(var count = 10; count >0; count --){
sum = sum + count;
}
alert(sum);
与前面使用while一样,当循环结束事,变量sum的值是:
10+9+8+7+6+5+4+3+2+1 = 55
使用break跳出循环
break语句在循环里的作用与在switch语句中差不多,它中断循环,把程序导向右花括号后面的第一条语句。
例子:
var count = 10;
var sum = 0;
while(count > 0){
sum = sum + count;
if(sum > 42) break;
count --;
}
alert(sum);
在不加break的时候,sum的值是:
10+9+8+7+6+5+4+3+2+1=55
而现在,当sum的值达到
10+9+8+7+6+5 =45 的时候,if(sum > 42)的条件就满足了,就会执行break语句而中断循环。
使用for.....in在对象集中循环
for......in是一种特殊的循环,用于在对象的属性里进行循环。用一段代码来展示:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title></title>
</head>
<body>
<script type="text/javascript" language="javascript">
var days = ['星期日' , '星期一' , '星期二' , '星期三' , '星期四' , '星期五' , '星期六'];
var message = '';
for(i in days){
message += '天' + i + '是' + days[i] + '\n';
}
alert(message);
</script>
</body>
</html>
在这种循环中,我们不必考虑使用循环计数器,或者判断循环结束的条件,循环会对集合中每个对象执行一次,然后结束。
说明:在javascript中,数组是一种对象。利用for....in循环可以操作任何对象的属性,无论是DOM对象,javascript内置对象还是我们创建的对象