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 语句,所以应尽可能避免使用它。

完。

猜你喜欢

转载自www.cnblogs.com/itwhite/p/12218032.html