分支结构
-
if语句
判断语句,语法结构如下:
if(expr){ statement }
如果表达式expr为真,则执行语句statement,否则,忽略statement。
如果statement是单句,省略大括号,但是不建议这么做。
-
else语句
语法结构如下:
if(expr){ statement1 }else{ statement2 }
如果表达式expr为真,则执行语句statement1,否则,执行statement2。
if/else可以嵌套。设计多重分支结构。
-
switch语句
语法结构如下:
switch (expr){ case value1: statement1; break; case value2: statement2; break; case value3: statement3; break; case value4: statement4; break;
default:
default statement;
}
-
default语句
default是switch的子句,可以位于switch语句的任何位置。
default为默认项,case为判例。
default选线是唯一的,不可以扩展,case是可以扩展的。
case用于枚举,default用于异常处理。
循环结构
-
while语句
语法结构:
if(expr){ statement }
如果表达式expr为真,则执行语句,执行结束后,再返回到expr表达式继续进行判断。直到表达式的判断为假,才跳出循环,执行下面的语句。
-
do/while语句
语法格式如下:
do{ statement }while(expr)
能保证至少执行一次循环。
-
for语句
语法结构如下:
for(expr1;expr2;expr3){ statement; }
expr1:(代码块)开始前执行
expr2:定义运行循环(代码块)的条件
expr3:在循环(代码块)已被执行之后执行
实例:
for(var i = 0;i<10;i++){ if (i%2 != 0) { console.log(i) } }
-
for/in语句
适合枚举不确定长度的对象。
实例:
var a = ["python","javascript","java","c++","Go"]; for(var b in a){ console.log(a[b]); //遍历每个元素的值 }
流程控制
-
label语句和break语句
使用label语句可以为一行语句添加标签,以便在复杂的结构中设置跳转目标,语法结构如下:
label : statement break label;
break语句和label语句配合使用仅限于嵌套的循环结构,或者嵌套的switch结构,且需要推出非当前层结构时。
-
continue语句
用于跳过本次循环中剩余的代码,并在表达式为真时,继续执行下一次循环。