最详细的JavaScript高级教程(七)表达式

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语句。

你可能感兴趣的:(JavaScript高级编程)