美文网首页
ES笔记—基础之语句篇

ES笔记—基础之语句篇

作者: linchwei | 来源:发表于2017-04-11 10:54 被阅读0次

1、if语句,if (condition) statement1 else statement2
condition(条件)可以是任意表达式;而且对这个表达式求值的结果不一定是布尔值。ECMAScript 会自动调用 Boolean()转换函数将这个表达式的结果转换为一个布尔值。如果对 condition求值的结果是 true,则执行 statement1 (语句 1),如果对 condition 求值的结果是 false,则执行 statement2(语句 2)。

if (i > 25) {
    alert("Greater than 25.");
} else if (i < 0) {
    alert("Less than 0.");
} else {
    alert("Between 0 and 25, inclusive.");
}

2、do-while语句,do { statemen } while (expression);
一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。

var i = 0;
do {
    i += 2;
} while (i < 10);
console.log(i);

3、while语句,while(expression) statement
前测试循环语句, 也就是说, 在循环体内的代码被执行之前,就会对出口条件求值。

var i = 0;
while (i < 10) {
    i += 2;
}

4、for语句,for (initialization; expression; post-loop-expression) statement
前测试循环语句,但它具有在执行循环之前初始化变量和定义循环后要执行的代码的能力。

var count = 10;
for (var i = 0; i < count; i++){
    alert(i);
}

5、for-in语句,for (property in expression) statement
精准的迭代语句,可以用来枚举对象的属性。

for (var propName in window) {
    document.write(propName);
}

ECMAScript 对象的属性没有顺序。因此,通过 for-in 循环输出的属性名的顺序是不可预测的。具体来讲,所有属性都会被返回一次,但返回的先后次序可能会因浏览器而异。

建议在使用 for-in 循环之前,先检测确认该对象的值不是 null 或 undefined。

6、label语句,label: statement
使用 label 语句可以在代码中添加标签,以便将来使用。

start: for (var i=0; i < count; i++) {
    alert(i);
}

7、break和continue语句
break 和 continue 语句用于在循环中精确地控制代码的执行。其中,break 语句会立即退出循环,强制继续执行循环后面的语句。而 continue 语句虽然也是立即退出循环,但退出循环后会从循环的顶部继续执行。

var num = 0;
for (var i=1; i < 10; i++) {
    if (i % 5 == 0) {
        break;
    }
    num++;
}
console.log(num); //4

var num = 0;
for (var i=1; i < 10; i++) {
    if (i % 5 == 0) {
        continue;
    }
    num++;
}
console.log(num); //8

break 和 continue 语句都可以与 label 语句联合使用,从而返回代码中特定的位置。这种联合使用的情况多发生在循环嵌套的情况下,如下面的例子所示:

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++;
    }
}

console.log(num); //55

var num = 0;

outermost:
for (var i=0; i < 10; i++) {
    for (var j=0; j < 10; j++) {
        if (i == 5 && j == 5) {
            continue outermost;
        }
        num++;
    }
}

console.log(num); //95

8、with语句,with (expression) statement;
with 语句的作用是将代码的作用域设置到一个特定的对象中,定义 with 语句的目的主要是为了简化多次编写同一个对象的工作。with 语句会导致性能下降,同时也会给调试代码造成困难,不推荐使用,而且严格模式下不允许使用 with 语句,否则将视为语法错误。

9、switch语句,switch (expression) { case value: statementbreak; default: statement}
switch 语句中的每一种情形(case)的含义是:“如果表达式等于这个值(value),则执行后面的语句(statement)”。而 break 关键字会导致代码执行流跳出 switch 语句。如果省略 break 关键字,就会导致执行完当前 case 后,继续执行下一个 case。最后的 default 关键字则用于在表达式不匹配前面任何一种情形的时候,执行机动代码(因此,也相当于一个 else 语句)。

switch (i) {
    case 25:
        alert("25");
        break;
    case 35:
        alert("35");
        break;
    case 45:
        alert("45");
        break;
    default:
        alert("Other");
}

var num = 25;
switch (true) {
    case num < 0:
        alert("Less than 0.");
        break;
    case num >= 0 && num <= 10:
        alert("Between 0 and 10.");
        break;
    case num > 10 && num <= 20:
        alert("Between 10 and 20.");
        break;
    default:
        alert("More than 20.");
}

相关文章

网友评论

      本文标题:ES笔记—基础之语句篇

      本文链接:https://www.haomeiwen.com/subject/kdeyattx.html