(个人整理)JavaScript流程控制语句

JavaScript流程控制语句

流程控制结构:

1.顺序结构

从上到下,从左到右执行的结构 js代码必须写在结构后面 js代码中如果有某一个位置出错,那么这个位置之后的所有代码都不执行

2.分支结构(选择性的去执行代码)

if 分支语句 switch 多值匹配语句

3.循环结构(重复的执行某一段代码)

while 循环 do while 循环 for 循环

JavaScript 语言中 流程控制语句,包括:顺序,选择,和循环三种 控制结构 以及 具体的控制语句,如if else while 等基本用法

默认情况下,JavaScript解释器依照语句的编写顺序从头到尾,从上到下的依次执行,这种默认执行代码的结构就是顺序结构。

选择控制结构

JavaScript 中选择控制语句 主要有 单分支(if)、双分支(if...else)、多分支(if...else if...)和多值选择器(switch)等。

1.单分支结构

单分支语句 if(条件){ 条件为true的时候才会执行 执行语句 或者 执行代码块 }

JavaScript中单分支 选择结构 主要用if语句来实现

  • 通过 一个 if语句来决定代码执行 与 否

  • 语法:if(条件){要执行的代码}

  • 通过()里面的条件是否成立来决定{}里面的代码是否执行

// 条件为 true 的时候执行 {} 里面的代码
if (true) {
 alert('因为条件是 true,我会执行')
}

// 条件为 false 的时候不执行 {} 里面的代码
if (false) {
alert('因为条件是 false,我不会执行')    
}

2.双分支语句

双分支语句(肯定会执行其中一条语句) if(条件){ 条件为true执行这里 }else{ 条件为false执行这里 }

JavaScript 中双分选择结构主要用 if···else···语句来实现

  • 通过 if 条件来决定,执行哪一个{}里面的代码

  • 语法:if(条件){条件为true的试试执行}else{条件为false的时候执行}

  • 两个{}内的代码一定有一个会执行

// 条件为 true 的时候,会执行 if 后面的 {} 
if (true) {
 alert('因为条件是 true,我会执行')
} else {
 alert('因为条件是 true,我不会执行')
}

// 条件为 false 的时候,会执行 else 后面的 {}
if (false) {
 alert('因为条件为 false,我不会执行')
} else {
 alert('因为条件为 false,我会执行')
}

3.多分支结构

多分支语句 if(条件1){ 条件1 满足就执行这里代码 }else if(条件2){ 条件1 不满足,但是条件2满足的时候执行 }else if(条件3){ 条件1 和条件2都不满足的时候,但是条件3满足的时候执行 }else{ 上面所有条件都不满足的时候执行这里的代码 }

JavaScript 中双分选择结构主要用 if···else if···语句来实现

  • 可以通过 ifelse if来设置多个条件进行判断

  • 语法:if(条件1) {条件1为true就执行这里的代码} else if(条件2) {条件1为false且条件2 为true的时候执行这里的代码} else {当条件1 和条件2都为false的时候执行这里的代码}

  • 会从头一次判断条件

    • 如果第一个条件为true了,就不会再判断后面的条件了

    • 如果第一个条件为false,那么就会判断后面的条件

  • 多个{},只会有一个被执行,一旦有一个条件为true了,那么就不会再判断后面的条件了

    var a = 10;
   if (a ==10) {
     alert('我是10')
  } else if (a == 20) {
     alert('我是20')
  } else {
     alert('我不是10 也不是20')
  }

4.switch 条件分支结构

  • 也是选择控制结构的的一种条件语句

  • 是对某一个变量的判断

  • 语法:

switch (要判断的变量) {
 case 情况1:
   情况1要执行的代码//
   break
 case 情况2:
   情况2要执行的代码
   break
 case 情况3:
   情况3要执行的代码
   break
 default:
   上述情况都不满足的时候执行的代码
}

如果表达式的值 与所有的 case 后面的值都不匹配的,则执行default后面的语句

注意:语句中的 break 用于结束 多值选择结构语句,如果没有break 则会从满足条件的case 开始顺序执行完整个 switch语句(这种情况称之为 case 穿透),直到遇到break为止。

三元运算(扩展)

  • 三元运算,就是用 两个符号 组成一个语句

  • 三元运算只是对 if else 语句的一个简写形式

  • 语法:条件 ? 条件为true的时候执行 : 条件为false 的时候执行

var age = 18;
age >= 18 ? alert('已经成年') : alert('没有成年')

三目运算

语法:表达式(条件) ? 表示式1 : 表达式2

console.log( num1 > num2 ? num1 : num2)

 

循环控制结构

  • 循环结构,就是根据某些给出的条件,重复的执行同一段代码

  • 循环必须要有的某些固定的内容组成

    • 初始化

    • 条件判断

    • 要执行的代码

    • 自身改变

    和大多数 编程语言一样,JavaScript 语言中的循环控制结构也无非 whiledo-while`for循环三种。

1.while循环结构

  • while 中文叫 当····时, 其实就是当条件满足的时候执行代码,一旦不满足了就不执行代码

  • 语法: while(条件){满足条件就执行}

  • 因为满足条件就要执行,所以我们写的时候一定要注意,就是设定一个边界值,不然就是一直执行下去(死循环)

// 1. 初始化条件
var num = 0;
// 2. 条件判断
while (num < 10) {
 // 3. 要执行的代码
 console.log('当前的 num 的值是 ' + num)
 // 4. 自身改变
 num = num + 1
}

2.do while 循环

  • 是一个 和 while循环类似的循环

  • while会先进行条件判断,满足就执行,不满足直接就不执行了

  • 但是 do while循环是先执行一次,再进行条件判断

  • 语法:do {要执行的代码} while(条件)

// 下面这个代码,条件一开始就不满足,但是依旧会执行一次 do 后面 {} 内部的代码
var num = 10
do {
 console.log('我执行了一次')
 num = num + 1
} while (num < 10)

3.for 循环

  • whiledo while循环都不太一样的一中循环结构

  • 语法:for(var i = 0;i < 10;i++){要执行的代码}

// 把初始化,条件判断,自身改变,写在了一起
for (var i = 1; i <= 10; i++) {
 // 这里写的是要执行的代码
 console.log(i)
}

// 控制台会依次输出 1 ~ 10

4.break 终止循环

  • 在循环没有进行完毕的时候,因为我设置的条件满足,提前终止循环

  • 比如:我要吃五个包子,吃到三个的时候,不能在吃了,我就停止吃包子这个事情

  • 要终止循环,就可以直接使用 break 关键字

  • 只能终止当前循环

  • 如果当有循环嵌套的时候,想要跳出外层循环,那么就给循环添加一个标识符,然后 break outer

for (var i = 1; i <= 5; i++) {
 // 没循环一次,吃一个包子
 console.log('我吃了一个包子')
 // 当 i 的值为 3 的时候,条件为 true,执行 {} 里面的代码终止循环
 // 循环就不会继续向下执行了,也就没有 4 和 5 了
 if (i === 3) {
   break
}
 
}

5.continue 结束本次循环

  • 在循环中,把循环的本次跳过去,继续执行后续的循环

  • 比如:吃五个包子,到第三个的时候,第三个掉地下了,不吃了,跳过第三个,继续吃第四个和第五个

  • 跳过本次循环,就可以使用 continue 关键字

for (var i = 1; i <= 5; i++) {
 // 当 i 的值为 3 的时候,执行 {} 里面的代码
 // {} 里面有 continue,那么本次循环后面的代码就都不执行了
 // 自动算作 i 为 3 的这一次结束了,去继续执行 i = 4 的那次循环了
 if (i === 3) {
   console.log('这个是第三个包子,掉地下了,我不吃了')
   continue
}
 console.log('我吃了一个包子')
}

 

猜你喜欢

转载自www.cnblogs.com/rangvis/p/13194473.html
今日推荐