一、ECMAScript if 语句
if 语句是 ECMAScript 中最常用的语句之一。
if 语句的语法:
if (condition) statement1 else statement2
还可以串联多个 if 语句。就像这样:
if (condition1) statement1 else if (condition2) statement2 else statement3
二、ECMAScript 迭代语句
迭代语句又叫循环语句,声明一组要反复执行的命令,直到满足某些条件为止。
循环通常用于迭代数组的值(因此而得名),或者执行重复的算术任务。
本节为您介绍 ECMAScript 提供的四种迭代语句。
1、do-while 语句
do-while 语句是后测试循环,即退出条件在执行循环内部的代码之后计算。这意味着在计算表达式之前,至少会执行循环主体一次。
它的语法如下:
do {statement} while (expression);
2、while 语句
while 语句是前测试循环。这意味着退出条件是在执行循环内部的代码之前计算的。因此,循环主体可能根本不被执行。
它的语法如下:
while (expression) statement
3、for 语句
for 语句是前测试循环,而且在进入循环之前,能够初始化变量,并定义循环后要执行的代码。
它的语法如下:
for (initialization; expression; post-loop-expression) statement
注意:post-loop-expression 之后不能写分号,否则无法运行。
4、for-in 语句
for 语句是严格的迭代语句,用于枚举对象的属性。
它的语法如下:
for (property in expression) statement
PropertyIsEnumerable()
是 ECMAScript 中专门用于说明属性是否可以用 for-in 语句访问的方法。
三、ECMAScript 标签语句
有标签的语句
可以用下列语句给语句加标签,以便以后调用:
label : statement
例如:
start : i = 5;
在这个例子中,标签 start 可以被之后的 break 或 continue 语句引用。
四、ECMAScript break 和 continue 语句
break 和 continue 语句对循环中的代码执行提供了更严格的控制。
1、break 和 continue 语句的不同之处:
- break 语句可以立即退出循环,阻止再次反复执行任何代码。
- 而 continue 语句只是退出当前循环,根据控制表达式还允许继续进行下一次循环。
2、与有标签的语句一起使用
break 语句和 continue 语句都可以与有标签的语句联合使用,返回代码中的特定位置。
var iNum = 0;
outermost:
for (var i=0; i<10; i++) {
for (var j=0; j<10; j++) {
if (i == 5 && j == 5) {
break outermost;
}
iNum++;
}
}
alert(iNum); //输出 "55"
在上面的例子中,标签 outermost 表示的是第一个 for 语句。如果使用continue outermost;输出结果为95。
五、ECMAScript with 语句
有标签的语句
with 语句用于设置代码在特定对象中的作用域。
它的语法:
with (expression) statement
例如:
var sMessage = "hello";
with(sMessage) {
alert(toUpperCase()); //输出 "HELLO"
}
在这个例子中,with 语句用于字符串,所以在调用 toUpperCase() 方法时,解释程序将检查该方法是否是本地函数。如果不是,它将检查伪对象 sMessage,看它是否为该对象的方法。然后,alert 输出 "HELLO",因为解释程序找到了字符串 "hello" 的 toUpperCase() 方法。
提示:with 语句是运行缓慢的代码块,尤其是在已设置了属性值时。大多数情况下,如果可能,最好避免使用它。
六、ECMAScript switch 语句
1、switch 语句
switch 语句是 if 语句的兄弟语句。
开发者可以用 switch 语句为表达式提供一系列的情况(case)。
switch 语句的语法:
switch (expression)
case value: statement;
break;
case value: statement;
break;
...
case value: statement;
break;
default: statement;
每个情况(case)都是表示“如果 expression 等于 value,就执行 statement”。
2、ECMAScript 和 Java 中的 switch 语句
ECMAScript 和 Java 中的 switch 语句有两点不同。在 ECMAScript 中,switch 语句可以用于字符串,而且能用不是常量的值说明情况:
var BLUE = "blue", RED = "red", GREEN = "green";
switch (sColor) {
case BLUE: alert("Blue");
break;
case RED: alert("Red");
break;
case GREEN: alert("Green");
break;
default: alert("Other");
}
这里,switch 语句用于字符串 sColor,声明 case 使用的是变量 BLUE、RED 和 GREEN,这在 ECMAScript 中是完全有效的。
网友评论