if语句
推荐if语句中的表达式不管是不是单行都用大括号括起来以简化阅读。
循环语句
JS中支持 do while语句 和 while语句,这两种的用法与其他语言相似,这里就不多赘述了,我们看一看for的一些特殊的例子,一看便明白
// 不存在块级作用域,所以外部也能访问
for(var i = 0; i < 10; i++){
}
alert(i) // 输出10
// 无限循环
for(;;){}
// for当成while用
var i = 0;
for(;i < 10;){
i++;
}
for in语句
用于遍历可以遍历的对象
for(var propName in window){
document.write(propName);
}
break continue
用法跟我们平常使用没什么不同,这里介绍一个不一样的用法,就是与label结合之后的跳出指定循环的功能。
可以使用 labelName: 的方式给一个循环加一个标签,break 或者 continue的时候,加上这个标签可以指定跳出的循环或者跳到指定的循环
var num = 0;
outmost:for(var i = 0; i < 10; i++){
for(var j = 0; j < 10; j++){
if(i == 5 && j == 5){
// 标签指示了break操作针对哪个循环
// 下面代码的意思是直接跳出外层的循环,所以循环就停止了
// 所以输出55
break outmost;
}
num++;
}
}
alert(num); // 输出55
var num = 0;
outmost:for(var i = 0; i < 10; i++){
for(var j = 0; j < 10; j++){
if(i == 5 && j == 5){
// 标签指示了continue操作针对哪个循环
// 下面代码的意思是直接continue外层的循环,所以循环被跳过了五次
// 所以输出95
continue outmost;
}
num++;
}
}
alert(num); // 输出95
with语句
局部块,不推荐使用,严格模式不允许使用with,原因是with使得性能大量下降
window.a = 1;
window.b = 2;
// 可以使用with改写为
with(window){
a = 1;
b = 2;
}
switch 语句
switch语句的基本语法与其他语言相同,但是它有自己的优点,就是支持表达式甚至变量,这个特点十分优越,我们可以写出下面的代码
// 执行所有结果为true的表达式后面的语句
switch(true){
case 2 == 3:
alert("2 == 3");
break;
case 2 == 2:
alert("2 == 2");
break;
default:
break;
}
注意switch语句使用的是全等,不是相等,这让我们十分放心的使用switch语句。