从本质上看,语句定义了Javascript中的主要语法,语句通常使用一个或多个关键字来完成给定任务。
1,if语句
if语句是我们最常用的,如下:
if (status) methods1 else methods2
其中的status可以是任意表达式,而且对这个表达式求值的结果不一定是布尔值。Javascript会自动调用Boolean()函数将结果转换为一个布尔值,
推荐的写法是代码块,即使要执行的只有一行代码。因为这样可以结构清晰的看出在不同条件下执行哪些语句。
2,do-while语句
do-while语句是后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。例如:
do {
methods1
} while (status)
3,while语句
while语句属于前测试循环语句,即在循环体内的代码被执行之前,就会对出口条件求值,因此,循环体内的代码有可能永远不会被执行。例如:
while (status) methods1
4,for语句
for语句也是前测试循环语句,但它具有在执行循环之前初始化变量和定义循环后要执行的代码的能力。
for (initialization; expression; post-loop-expression) methods1
for语句中的初始化表达式、控制表达式、循环后表达式都是可选的。将这三个表达式都省略,就会创建一个无限循环,例如:
for (;;) {
methods1
}
5,for-in语句
for-in语句是一种迭代语句,可以用来枚举对象的属性。例如:
for (i in arr) {
methods1
}
6,label语句
label语句可以在代码中添加标签,以便将来使用,例如:
start: for (var i = 0; i < count; i++) {
alert(i);
}
7,break和continue语句
break和continue语句用于在循环中精确的控制代码的执行。其中break语句会立即退出循环,强制继续执行循环后面的语句。而continue语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。
break例子:
var num = 0;
for (var i = 1; i < 10; i++) {
if (i % 5 == 0) {
break;
}
num++;
}
alert(num); // 4
continue例子:
var num = 0;
for(var i = 1; i < 10; i++) {
if (i % 5 == 0) {
continue;
}
num++;
}
alert(num); // 8
8,with语句
with语句的作用是将代码的作用域设置到一个特定的对象中。定义with语句的目的主要是为了简化多次编写同一个对象的工作,例如:
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
上面几行代码都包含location对象,如果使用with语句,可以把上面的代码改写成如下所示:
with(location) {
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
严格模式下不允许使用with语句,否则将视为语法错误。
9,switch语句
switch语句与if语句的关系最为密切,而且也是在其他语言中普遍使用的一种流控制语句。例如:
switch(expression) {
case value: statement
break;
case value: statement
break;
default: statement
}
switch语句中的每一种情形的含义是“如果表达式等于这个值,则执行后面的语句”,而break关键字会导致代码执行流跳出switch语句。如果省略break关键字就会导致执行完当前case后,继续执行下一个case,最后的default关键字则用于在表达式不匹配前面任何一种情形的时候,执行激动代码。