本文系统讲解 ECMAScript 中的核心语句,涵盖 if-else 条件判断、do-while/while/for/for-in 四种迭代方式及其数组遍历示例。重点解析 break 与 continue 语句在普通循环及带标签多层循环中的行为差异,并介绍 with 语句的作用域设置及 switch 语句对字符串的支持。
条件语句:if-else
if 语句
语法:
代码如下:
if(condition){
statement1;
}
else{
statement2;
} 迭代语句:do-while、while、for 与 for-in
迭代语句
1、do-while 语句
语法:
代码如下:
do{
statement
}while(expression); 2、while 语句
语法:
代码如下:
while(expression){
statement
} 3、for 语句
语法:
代码如下:
for(initialization;expression;post-loop-expression){
statement;
} 4、for-in 语句
语法:
代码如下:
for(property in expression){
statement
} 示例:
用上面四种方法遍历数组:
代码如下:
var iArr=new Array(1,2,3,4,5);
var index=0;
//do-while
do{
console.log(iArr[index]);
}while(++index<iArr.length);
//while
index=0;
while(index++<iArr.length){
console.log(iArr[index-1]);
}
//for
for(index=0;index<iArr.length;index++){
console.log(iArr[index]);
}
//for-in
for(x in iArr){
console.log(iArr[x]);
} 带标签的语句与 break/continue 控制
有标签的语句
可以用下列语法给语句加标签,以便以后调用:
label:statement
例如:
start:var iCount=10;
这个例子中,标签 start 可被后来的 break 语句或 continue 语句调用
break 语句和 continue 语句
break 和 continue 都对循环中的代码执行提供了更严格的控制。break 语句可以立即退出循环,而 continue 只是退出当前循环,进入下一次循环。示例:
代码如下:
var iNum=0;
for(var i=1;i<10;i++){
if(i%5==0){
break;
}
iNum++;
}
console.log(iNum);//4
iNum=0;
for(var i=1;i<10;i++){
if(i%5==0){
continue;
}
iNum++;
}
console.log(iNum);//8
iNum=0;
outer://标签
for(var i=0;i<10;i++){
for(var j=0;j<10;j++){
if(i==5&&j==5){
break outer;
}
iNum++;
}
}
console.log(iNum);//55
iNum=0;
outer://标签
for(var i=0;i<10;i++){
for(var j=0;j<10;j++){
if(i==5&&j==5){
continue outer;
}
iNum++;
}
}
console.log(iNum);//95 with 语句与 switch 多分支语句
with 语句
with 语句用于设置代码在特定对象中的作用域。它的语法如下:
代码如下:
with(expression){
statement
} 用法示例:
代码如下:
var sMessage="Hello World";
with(sMessage){
console.log(toUpperCase());//HELLO WORLD
} switch 语句
if 语句的姊妹语句是 switch 语句。switch 语法如下:
代码如下:
switch(expression){
case value1:
statement
break;
case value2:
statement
break;
...
case valueN:
statement
break;
default:
statement
} ECMAScript 中的 switch 可以用于字符串,示例:
代码如下:
var sColor="green";
switch(sColor){
case "red":
console.log("#FF0000");
break;
case "green":
console.log("#00FF00");//#00FF00
break;
default:
console.log("#FFFFFF");
} 作者:天行健,自强不息