(个人整理)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···
语句来实现
可以通过
if
和else 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 语言中的循环控制结构也无非
while
、do-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 = 10do { console.log(‘我执行了一次‘) num = num + 1} while (num < 10)?
3.for 循环
和
while
、do 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(‘我吃了一个包子‘)}