流程控制
js提供了三种控制流来控制程序的流程:顺序、条件分支和循环语句。
条件分支语句或者循环都“ {} ”开始和结束,每条语句结束都要加分号,但是结尾“ } ”后面不用加分号。
1.1语句和语句块
语句:一条语句由一个或多个表达式,关键字或者运算符组成。
语句块:用“{}”扩起来的一组js语句称为语句块。
1.2 if...else 条件语句
有三种结构形式
(1)只有if 条件,当作单纯的判断,如果statements只有一行,可以省略“{}”;缺陷如果不满足条件,就不做任何处理。
if (condition) {
statements
}
(2)添加else,弥补1的不足。else中statements只有一行,可以省略“{}”。
if (condition) {
statements
} else {
statements
}
(3)多种决策
if (condition) {
statements
} else if {
statements
} else {
statements
}
1.3 switch条件语句:通常处理复合式的条件判断,是if...else...结构的变通形式。要将几率最大的条件放在最前面,增加程序的执行效率。
switch(expr){
case expr1:
stachment1;
break;
...
default:
stachmentN;
break;
}
1.4 do...while循环
(1)
while(condition){
statement
}
(2)
do{
statement
}while(condition)
1.5 for循环
for (expr1;expr2;expr3;) {
statement
}
1.6 for...in循环 :语句遍历的是对象的原型链中对象的属性。
for (variableIterant in object) {
statement;
}
1.7 for each...in 循环:将遍历对象属性的值而不是属性的名称。
for each (variableIterant in object){
statement;
}
Tip:for each...in语句作为E4X语言扩展的一部分引入,是js1.6引入的新语法,仅在firefox 2以上版本的浏览器中使用。
对于应用js1.6及更高版本的语法,必须在script元素的type属性中声明版本号:
<script type=""text/javascript:vertion=1.6"></script>
1.8 with语句:可以方便的用来引用某个特定对象的方法和属性。
with(object){
statement(s);
}