zoukankan      html  css  js  c++  java
  • JavaScript快速入门笔记(5):语句

    本系列随笔是本人的学习笔记,初学阶段难免会有理解不当之处,错误之处恳请指正。转载请注明出处: https://www.cnblogs.com/itwhite/p/12218032.html

    if 语句

    格式:

    if (condition) {
        // ...
    }
    else if (condition) {
        // ...
    }
    else {
        // ...
    }

    for 语句

    示例:

    // 遍历数字列表
    for (var i = 0; i < 10; i++) {
        console.log(i);
    }
    
    // for-in 语句遍历对象属性列表
    var person = { name: "Jack", gender: "male", age: 23 };
    for (var attr in person) {
        var value = person[attr];
        console.log(attr + ": " + value);
    }

    while、do-while 语句

    格式:

    while (condition) {
        // ...
    }
    
    do {
        // ...
    } while (condition);

    switch 语句

    格式:

    switch(expression) {
        case x:
            // ...
            break;
        case y:
        case z:     // 多个 case 可以连续
            // ...
            break;
        default:
            // ...
    }

    需要注意的是,swtich 语句中 表达式 与 case 值的比较是通过 “===” 操作符来比较的,因此两者的值和类型都必须相同才会匹配成功。例如:

    function test(x) {
        switch (x) {
            case 123:
                console.log("This a number 123");
                break;
            case "123":
                console.log("This is a string '123'");
                break;
            default:
                console.log("Unknown value: " + x);
                break;
        }
    }
    test(123);      // This a number 123
    test("123");    // This is a string '123'
    test(456);      // Unknown value: 456

    continue、break语句

     格式:

    // 同 C/C++ 语言
    continue;
    break;
    
    // 类似 Perl 语言中的 next / last 语句
    continue labelname;
    break labelname;

    示例:

    // 示例一:continue labelname; 只能用在循环语句中
    var i = 1;
    next:
    while (++i < 100) {
        for (var j = 2; j < i; j++) {
            if (i % j == 0) {
                continue next;
            }
        }
        console.log(i);
    }
    
    // 示例二:break labelname; 可以用在循环语句中,也可以不用在循环语句中
    var foo = [];
    list: {
        foo.push('Bob');
        foo.push('Jack');
        break list;       // continue 不能用在这里,而必须用在循环语句中
        foo.push('Lucy'); // here is unreachable
    }

    throw、try-catch-finally 语句

    示例: 

    // throw 示例
    function foo(x) {
        if (x < 1) {
            throw "x is less than 1";
        }
    }
    try {
        foo(0);
    }
    catch (err) {
        console.log(err);   // 输出:x is less than 1
    }
    
    // try-catch 示例
    try {
        bar();      // bar()函数未定义
    }
    catch (err) {   // 异常对象都包含 name 和 message 属性
        console.log(err.name);    // 输出: ReferenceError
        console.log(err.message); // 输出: bar is not defined
    }
    finally {       // finally 是可选部分
        console.log('I will always be executed');
    }

    debugger 语句

    debugger 语句仅用来在程序中设置一个断点,当程序执行到此处时将会以调试模式运行。

    with 语句 

    在对象嵌套层次很深时,使用 with 语句来临时扩展作用域链,可以简化代码书写(但是不推荐使用),格式:

    with (object) {
        // ... 这里可以直接使用 object 中的属性名
    }

    示例:

    var jack = {
        gender: "male",
        age: 23,
        parents: {
            father: {
                name: "Bob",
                age: 49
            },
            mother: {
                name: "Linda",
                age: 45
            }
        }
    };
    with (jack.parents) {
        console.log(father.name);   // Bob
        console.log(mother.name);   // Linda
    }

    注意:在严格模式中是禁止使用 with 语句的,即使在非严格模式下也不推荐使用 with 语句,所以应尽可能避免使用它。

    完。

  • 相关阅读:
    用nodejs 开发的智能提示
    分布式系统之消息中间件rabbitmq
    理解RESTful架构
    zf框架的思想及学习总结
    php网上支付易宝
    phpstorm使用技巧
    phpstorm使用技巧
    mysql中的数据类型
    CF113D 高斯消元、dp
    bzoj4008: [HNOI2015]亚瑟王 dp
  • 原文地址:https://www.cnblogs.com/itwhite/p/12218032.html
Copyright © 2011-2022 走看看