if语句

  • 语法格式:
    • if(condition) statement1 else statement2
      1
      2
      3
      4
      5
      6
      7
      if(condition1){
      statement1
      } else if(condition2){
      statement2
      } else{
      statement3
      }

do-while语句

  • 后循环语句:循环体中的代码执行后才会对推出条件进行求值
  • 语法格式:
1
2
3
do{
statement
}while (expression);

while语句

  • 语法格式:
1
2
3
while(expression){
statement
}

for语句

  • 语法格式:
1
2
3
for(initialization;expression;post-loop-expression){
statement
}
  • 无穷循环:
1
2
3
for(::){
statement
}

for-in语句

  • for-in 语句是一种严格的迭代语句,用于枚举对象中的非符号键属性
  • 语法格式:
1
2
3
for(property in expression){
statement
}
  • 所有可枚举的属性都会返回一次,但返回的顺序可能会因浏览器而异
  • 如果 for-in 循环要迭代的变量是 null 或 undefined,则不执行循环体

for-of语句

  • for-of 语句是一种严格的迭代语句,用于遍历可迭代对象的元素
  • 语法格式:
1
2
3
for(property of expression){
statement
}
  • for-of 循环会按照可迭代对象的 next()方法产生值的顺序迭代元素
  • 如果尝试迭代的变量不支持迭代,则 for-of 语句会抛出错误
  • ES2018 对 for-of 语句进行了扩展,增加了 for-await-of 循环支持生成期约的异步可迭代对象。

标签语句

  • 语法格式:
    1
    2
    3
    4
    5
    label: statement
    //--------举例---------
    start: for(let i=0;i<count;i++){
    console.log(i);
    }

break和continue语句

  • break 语句用于立即退出循环,强制执行循环后的下一条语句
  • continue 语句也用于立即退出循环,但会再次从循环顶部开始执行

with语句

  • with 语句的用途是将代码作用域设置为特定的对象
  • 语法格式:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    with (expression) statement;
    //---------举例----------
    let a = location.search.sustring(1);
    let b = location.hostname;
    let c = location.href;
    //等价于
    with(location){
    let a = search.sustring(1);
    let b = hostname;
    let c = href;
    }

switch语句

  • 语法格式:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    switch(expression){
    case value1:
    statement
    break;
    case value2:
    statement
    break;
    case value3:
    statement
    break;
    default:
    statement
    }
  • switch 语句可以用于所有数据类型,因此可以使用字符串甚至对象
  • 条件的值不需要是常量,也可以是变量或表达式