7.1 判断
判断语句
if语句的语法:
if(condition) statement1 else statement2
如果条件计算结果为true,则执行statement1;如果条件计算结果为false,则执行statement2。
注意:
判断的条件会发生自动类型转换:
number:如果非0为true,0为false
string:如果非null或非空为true,否则为false
undefined:false
NaN:false
对象类型:非null为true,否则为false。
7.2.选择
switch语句的语法:
switch(expression)
case value: statement;
break;
case value: statement;
break;
case value: statement;
break;
case value: statement;
break;
...
case value: statement;
break;
default: statement;
每个情况(case)都是表示“如果expression等于value,就执行statement”。
关键字break会使代码跳出switch语句。如果没有关键字break,代码执行就会继续进入下一个case。
关键字default说明了表达式的结果不等于任何一种情况时的操作(事实上,它相对于else从句)。
ECMAScript和Java中的switch语句
ECMAScript和Java中的switch语句有两点不同。在ECMAScript中,switch语句可以用于字符串,而且能用不是常量的值说明情况:
1、基本数据类型都可以传递给switch case语句。
2、case语句可以是表达式
functiontest6(){
varcolor="xx";
varvalue1="red", value2="green";
switch(color) {
casevalue1:
alert("红色");
break;
casevalue2:
alert("绿色");
break;
default:
alert("执行默认default");
}
}
这里,switch语句用于字符串sColor,声明case使用的是变量BLUE、RED和GREEN,这在ECMAScript中是完全有效的。
示例: switch中传递boolean类型值?
�var num =20;
switch(true){
case num >= 0 && num <= 10:
alert("大于0小于等于10");
break;
case num>10&&num<=20:
alert("大于10小于等于20");
break;
}
7.3 .循环
while语句
while语句是先测试循环。这意味着退出条件是在执行循环内部的代码之前计算的。因此,循环主体可能根本不被执行。
它的语法如下:
while(expression) statement
例子:
var i =0;
while (i< 10) {
i += 2;
}
do-while语句
do-while语句是后测试循环,即退出条件在执行循环内部的代码之后计算。这意味着在计算表达式之前,至少会执行循环主体一次。
它的语法如下:
do{statement} while (expression);
例子:
var i =0;
do {i +=2;} while (i < 10);
for语句
for语句是前测试循环,而且在进入循环之前,能够初始化变量,并定义循环后要执行的代码。
它的语法如下:
for(initialization; expression; post-loop-expression) statement
注意:post-loop-expression之后不能写分号,否则无法运行。
例子:
iCount =6;
for (vari = 0; i < iCount; i++) {
alert(i);
}
这段代码定义了初始值为0的变量i。只有当条件表达式(i < iCount)的值为true时,才进入for循环,这样循环主体可能不被执行。如果执行了循环主体,那么将执行循环后表达式,并迭代变量i。
for循环中不会有局部变量,都是全局的变量。
for in语句
for语句是严格的迭代语句,用于枚举对象的属性或者遍历一个数组的元素。
它的语法如下:
for (propertyinexpression)statement
例子:
for (sProp in window) {
alert(sProp);
}
这里,for-in语句用于显示window对象的所有属性。
7.4 .With语句
wth语句的作用:有了With语句,在存取对象属性和方法时就不用重复指定参考对象。
格式 :
with(obj){
操作obj的属性语句;
}
with(document){
write("您好!");
write("
这个文档的标题是: \"" + title +"\".");
write("
这个文档的URL是: " + URL);
write("
现在您不用每次都写出document对象的前缀了!");
}