流程控制语句

流程控制语句

var a = 1
if(a === 1){
    console.log('ok')
}else {
    console.log('not ok')
}

if语句可以单独使用,也可以和多个else连续使用

var a = 1
if(a === 1){
   console.log('ok')
}else if(a === 2) {
   console.log('not ok')
}else if(a === 3){
   console.log('good')
}else{
   console.log('but')
}

switch case

var score = 99
switch(score) {
    case 100:
       console.log('100分')
       break;
    case 99:
       console.log('99分')
       break;
    default:
       console.log('其他分数')
}


var score = 100
switch(true) {
    case score == 100:
       console.log('perfect')
       break;
    case score >= 90:
       console.log('nice')
       break;
    case score >= 80:
       console.log('good')
       break;
    default:
       console.log('bad')
}

while循环

while(expression){
    statement;
}//圆括号内的属性如果是true,循环一直执行,值为false时循环停止

例如:

var i = 10;
while(i > 0){
    console.log(i);
    i--;
}

do while循环

do{
    statment;
}while(expression);

先执行一次代码,再判断while循环是否为true
例如:

var i = 4;
do{
    console.log(i);
    i--
}while(i > 5);//4 < 5 执行一次后循环停止

for循环

for(var i = 10; i > 0; i--){
    console.log(i);
}//先给i赋值10,再判断i是否>0,如果是的话就执行console.log(i)。然后再执行i--,执行完成后进行判断

关于for循环的一点细节
如下函数

var navbar = document.querySelector("#tip")
var child = document.createElement("div")
for(var i=0; i<3; i++){
    var result = document.createTextNode("hello"+i)
    child.appendChild(result)
    navbar.append(child)

}

输出结果如下

1

本函数在id为tip的标签下创建了一个div,在div下for循环运行3次,div函数中输出3段result的结果。
运行如下代码

var navbar = document.querySelector("#tip")
for(var i=0; i<3; i++){
    var child = document.createElement("div")
    var result = document.createTextNode("hello"+i)
    child.appendChild(result)
    navbar.append(child)

}

结果如下


此时,child在for循环内赋值,则出现不同结果

break和continue

break语句和continue语句都具有跳转作用,可以让代码不按既有的顺序执行。

break语句用于跳出代码块或循环。

var i = 0;

while(i < 100) {
  console.log('i当前为:' + i);
  i++;
  if (i === 10) break;
}

上面代码只会执行10次循环,一旦i等于10,就会跳出循环。

continue语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。

var i = 0;

while (i < 100){
  i++;
  if (i%2 === 0) continue;
  console.log('i当前为:' + i);
}
或
for(var i = 0; i < 100; i++){
    if(i % 2 === 0)continue;
    console.log(i);
}

上面代码只有在i为奇数时,才会输出i的值。如果i为偶数,则直接进入下一轮循环。

如果存在多重循环,不带参数的break语句和continue语句都只针对最内层循环。

switch case 语句中的 break 有什么作用

Break 语句它用于跳出 switch() 语句。
break 语句可用于跳出循环。
break 语句跳出循环后,会继续执行该循环之后的代码(如果有的话):

for (i=0;i<10;i++)
  {
  if (i==3)
    {
    break;
    }
  x=x + "The number is " + i + "
"; }

如果不用break语句终止循环,switch()语句的内容会全部执行。

你可能感兴趣的:(流程控制语句)