JS基础循环语句和跳转语句

循环语句

JS有四种循环语句,while, do/while, for, for/in,循环的原理很简单,当条件得到满足时,循环语句中的代码重复执行,当条件不满足时结束循环。

while语句

while语句是前测试语句,在执行循环之前先对出口条件进行求值

while(expression) {
  statement
}
var count = 0;
while(count < 3) { // 对出条件求值
  console.log(count);
  count++;
}
// 0 1 2

do while语句

do while语句是后测试语句,它会先执行一次循环再对出口条件求值,所以至少会执行一次循环

do {
  statement
} while(expression);
var count = 0;
do {
  console.log(count) // 先执行一次循环
  count++;
}while(count < 3); // 再对出口条件求值
// 0 1 2

for语句

for循环语句比while语句的控制结构更加清晰,while循环能做到的for循环都能做到。

for(initialize; test; increment) {
  statement;
}

initialize、test、increment分别负责变量的初始化、循环条件判断、计数器。

initialize初始化表达式只在循环开始的时候执行一次,循环执行前先执行test判断语句,满足条件就执行循环体中的statement,循环一次结束后执行increment,以此类推直到不满足循环条件退出循环。


var count = 3;
for(var i = 0; i < count; i++) {
  console.log(i)
}
// 0 1 2

initialize、test、increment这三个表达式中的任何一个都可忽略,但是两个分号不能省略。如果缺少test判断条件就会成为死循环。

 // 死循环
for(;;)

for in语句

for in循环主要用于遍历对象

for(variable in object) {
  statement
}
var o = {name: 'wmui', age: 10}
for(var key in o) {
  console.log(key, o[key])
}
// name wmui
// age 10

跳转语句

跳转语句让解释器跳转到程序的其他部分继续执行,包括break、continue、return语句

break语句

break语句只能出现在循环语句或switch语句中,在其他语句中使用会报错,break用于退出循环或switch语句。

var arr = ['a', 'b', 'c'];
for(var i = 0; i < arr.length; i++) {
  if(arr[i] == 'b') {
   break;
  } 
  console.log(arr[i])
}
// 'a'

结合label语句使用

var arr = ['a', 'b', 'c'];
oneFor:
for(var i = 0; i < arr.length; i++) { 
  if(arr[i] == 'b') {
   break oneFor;
  } 
  console.log(arr[i])
}
// 'a'

continue语句

continue语句和break语句类似,不同的是continue是退出本次循环,break是跳出整个循环语句。

var arr = ['a', 'b', 'c'];
for(var i = 0; i < arr.length; i++) {
 if(arr[i] == 'b') {
   continue;
 } 
 console.log(arr[i])
}
// 'a' 'c'

结合label语句使用

var arr = ['a', 'b', 'c'];
oneFor:
for(var i = 0; i < arr.length; i++) { 
 if(arr[i] == 'b') {
   continue oneFor;
 } 
 console.log(arr[i])
}
// 'a' 'c'

在while循环中使用

// 死循环
var count = 0;
while(count < 3) {
  // 当count等于2时,进入下一轮循环条件判断,2 < 3,就这样一直循环
  if(count == 2) {
    continue
  }
  console.log(count)
  count++
}
// 0 1
var count = 0;
while(count < 3) {
  count++;
  if(count == 2) {
  	continue
  }
  console.log(count)
}
// 1 3

continue语句只能用在循环语句中,在不同的循环类型中表现效果也有所不同:while循环中直接进入下一轮的循环条件判断,for循环首先计算其increment表达式,然后判断循环条件

return语句

return语句只能出现在函数体内,表示函数调用后的返回值,如果没有return则默认返回undefined,函数执行过程中遇到return语句就终止执行,并返回expression值。

return expression;
function fn(a) {
  if(a === 2) {
   return 3
  }
}

fn(2); // 3
优秀文章首发于聚享小站,欢迎关注!
原文地址:https://www.cnblogs.com/yesyes/p/15351363.html