zoukankan      html  css  js  c++  java
  • JavaScript之语句

    ECMA-262 规定了一组语句(也称为流控制语句)。从本质上看,语句定义了 ECMAScript 中的主要
    语法,语句通常使用一或多个关键字来完成给定任务。

    if语句

    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 {
    alert("Less than or equal to 25."); // 代码块中的语句
    }

    另外,也可以像下面这样把整个 if 语句写在一行代码中:

    if (condition1) statement1 else if (condition2) statement2 else statement3

    推荐写法:

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

    do-while语句

    do-while 语句是一种后测试循环语句,即只有在循环体中的代码执行之后,才会测试出口条件。
    换句话说,在对条件表达式求值之前,循环体内的代码至少会被执行一次。以下是 do-while 语句的
    语法

    do {
    statement
    } while (expression);

    下面是一个示例:

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

    在这个例子中,只要变量 i 的值小于 10,循环就会一直继续下去。而且变量 i 的值最初为 0,每次
    循环都会递增 2

    while语句

    while 语句属于前测试循环语句, 也就是说, 在循环体内的代码被执行之前,就会对出口条件求值。
    因此,循环体内的代码有可能永远不会被执行。以下是 while 语句的语法:

    while(expression) statement

    下面是一个示例:

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

    在这个例子中,变量 i 开始时的值为 0,每次循环都会递增 2。而只要 i 的值小于 10,循环就会继
    续下去。

    for语句

    for 语句也是一种前测试循环语句,但它具有在执行循环之前初始化变量和定义循环后要执行的代
    码的能力。以下是 for 语句的语法:

    for (initialization; expression; post-loop-expression) statement

    下面是一个示例:

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

    for-in语句

    for (property in expression) statement

    label语句

    使用 label 语句可以在代码中添加标签,以便将来使用。以下是 label 语句的语法:

    label: statement

    下面是一个示例:

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

    这个例子中定义的 start 标签可以在将来由 break continue 语句引用。加标签的语句一般都
    要与 for 语句等循环语句配合使用。

    break和continue语句

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

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

    例子的结果显示 8,也就是循环总共执行了 8 次。当变量 i 等于 5 时,循环会在 num 再次递增之前
    退出,但接下来执行的是下一次循环,即 i 的值等于 6 的循环。于是,循环又继续执行,直到 i 等于
    10 时自然结束。而 num 的最终值之所以是 8,是因为 continue 语句导致它少递增了一次。
    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++;
    }
    }
    alert(num); //55

    with语句

    with 语句的作用是将代码的作用域设置到一个特定的对象中。 with 语句的语法如下:

    with (expression) statement;

    定义 with 语句的目的主要是为了简化多次编写同一个对象的工作,如下面的例子所示:

    var qs = location.search.substring(1);
    var hostName = location.hostname;
    var url = location.href;

    上面几行代码都包含 location 对象。如果使用 with 语句,可以把上面的代码改写成如下所示:

    with(location){
    var qs = search.substring(1);
    var hostName = hostname;
    var url = href;
    }

    switch语句

    switch 语句与 if 语句的关系最为密切,而且也是在其他语言中普遍使用的一种流控制语句。
    ECMAScript switch 语句的语法与其他基于 C 的语言非常接近,如下所示:

    switch (expression) {
      case value: statement
        break;
      case value: statement  
        break;
      case value: statement
        break;
      case value: statement
        break;
      default: statement
    }

    break用于终止后续代码的执行

    例子:

    switch (i) {
      case 25:
        alert("25");
        break;
      case 35:
        alert("35");
        break;
      case 45:
        alert("45");
        break;
      default:
        alert("Other");
    }
  • 相关阅读:
    立体视觉
    KCF中的循环矩阵
    针孔相机成像模型
    lombok-@Accessors注解
    @Value注入map、List,yaml格式
    Error:java: Compilation failed: internal java compiler error 解决办法
    Linux守护进程(init.d和xinetd)
    no server suitable for synchronization found 很简单,可以试试
    yyds什么意思?00后“行话”已经霸占网络平台了
    &>/dev/null表示的意思
  • 原文地址:https://www.cnblogs.com/leomei91/p/7458888.html
Copyright © 2011-2022 走看看