1. if语句
2. do-while语句
do-while语句是一种后测试循环语句,即只有在循环体中的代码执行一次后,才会测试出口条件。也就是说在对表达式求值之前,循环体内的代码至少会执行一次。
var i = 0;
do {
i += 2;
} while (i < 10);
alert(i);
这种后测试语句通常用于循环体中的代码至少执行一次的情形
3. while语句
while语句是一种前测试循环语句,即在循环体内的代码被执行之前,就会对出口条件求值。因此,循环体内的代码有可能永远不会被执行。
var i = 0;
while (i < 10) {
i += 2;
}
alert(i);
4. for语句
for语句也是一种前测试循环语句,但它具有在执行循环之前初始化变量和定义循环后要执行的代码的能力。
var count = 10;
for (var i = 0; i < count; i++) {
alert(i);
}
5. for-in语句
for-in语句是一种精准的迭代语句,可以用来枚举对象的属性。
for (var propName in window) {
document.write(propName);
}
var str = {
name: 'john',
age: 24,
job: 'police'
};
for (var propName in str) {
document.write(propName);
}
6. lable语句
使用lable语句可以在代码中加标签,以便将来使用
var num = 0;
outermost:
for (var i = 0;i < 10;i++) {
for (var j = 0;j < 10;j++) {
if (i == 5&&j ==5) {
break outermost;
}
num++;
}
}
alert(num);
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);
// continue语句
var num = 0;
for (var i = 1;i < 10;i++) {
if (i%5 == 0) {
continue;
}
num++;
}
alert(num);
8. with语句
var qs = location.search.substring(1);
var hostName = location.hostname;
var url = location.href;
// 以上代码可以使用with语句改写为如下形式
with (location) {
var qs = search.substring(1);
var hostName = hostname;
var url = href;
}
严格模式下不允许使用with语句,同时不建议在开发大型应用程序时使用,因为它会导致性能下降,同时也会给调试代码造成困难。
9. switch语句
switch语句中的每一种情形(case)的含义是:“如果表达式等于这个值(value),则执行后面的语句(statement)”。而break关键字会导致代码执行流跳出switch语句。如果省略break关键字,就会导致执行完当前case后,继续执行下一个case。最后的关键字default关键字用于在表达式不匹配前面任何一种情况(case)的时候,执行机动代码。
switch (i) {
case 25:
alert('25');
break;
case 35:
alert('35');
break;
case 45:
alert('45');
break;
default:
alert('another');
}
switch语句在比较值时使用的是全等操作符,因此不会发生类型转换(例如,字符串'10'不等于数值10)。