JavaScript Conditions and Loop


JS conditional statements 条件语句,根据不同决定执行不同操作。

if … else 语句

if Statements

条件为 true 时,执行一段代码。

else Statements

条件为 false 时,执行一段代码。

else if Statements

如果第一个条件为 false 时,检查新的条件。if (condition1) {…} else if (condition2) {…} else {…}

switch Statement

语法:

switch(expression) {
    case n:
        // code block
        break;
    case n:
        // code block
        break;
    default:
        // default code block
}

注意:

  • expression 评估一次
  • 表达式的值与每一个 case 的值严格比较(使用 strict comparison,即 ===),如果找到匹配的 case,就执行相对应的代码
  • 遇到 break 关键字,跳出 switch 体
  • default 关键字指明,当没有找到匹配的 case 时,要执行的操作
  • 不同 case 可以使用相同的执行 code,加一个代码注释 // fallthrough 帮助理解和debug
  • 如果 default 不是最后一个 case,记得在它的代码后加 break

For Loops 循环

语法:

for (statement 1; statement 2; statement 3) {
    code block to be executed
}
  • 语句1在 loop 开始前执行,通常用来初始化控制 loop 的变量值。语句2指定循环条件,每次循环前都要判断一下是否满足条件。语句3在每一次循环体内代码执行完之后执行,通常作为变量。
  • 可以在语句1里初始化多个变量,separated by comma。
  • 语句1可以缺省,把初始化变量放在 for 体上面。
  • 语句2也可以缺省,但是必须在循环体内提供一个 break。
  • 语句3也可以缺省,把 increment 放在循环体内。
  • best practice:当遍历大量数据records时,在loop外提前定义好变量、函数

While Loops 循环

语法:

while (condition) {
    code block to be executed
}

只要循环条件满足,就执行代码,所以记得在循环体内写明 increment,

Do/While Loop

先执行一遍循环体,在 check 循环条件。确保循环体至少执行一次。

do {
    code block to be executed
}
while (condition);

Break and Continue

区别:

  • break statement “jumps out” of a loop or a switch. 直接跳出一个循环体或 switch 体,执行后面的代码。
  • continue statement “jumps over”/ “skip” one iteration in the loop. 在一个 for 循环里,遇到 continue 直接跳到 update expression 处(如 i++),不会完全终止循环的执行。

JavaScript Labels

JS标签语法

labelname:
statements
break labelname;
continue labelname;