流程控制语句

流程控制语句-分支语句

流程控制语句的认识,课程代码总结。详细代码保存在github的* Study*仓库上。
GitHub:Bibiboomer,小白一枚!

  • 分支语句
    • if …else /if…
    • switch case
    • 扩展
  • 循环语句
    • for
    • while / do while
    • 扩展

分支语句

if…else…

if (condition){ //condition
statement1
[else
statement2]

重点内容:(boolean原始类型与Boolenan引用类型)
链接(补充):boolean与Boolean的区别

1.其中 条件condition 与boolean的值得T/F无关;与Boolen对象的T/F无关。
2.定义 A所有不是undefined、null、0、NaN、空字符串(“”),以及任意对象,包括值为false的Boolen对象,在条件语句中都为true。

代码示例
var b = new Boolean(false);
if (b) //表达式的值是ture

switch case

: *简化if..else..的代码

  • 很少用,基本能用if..else..替代
  • 用于需要将变量与不同值比较,区分情况
  • 进行相同判断是,需要将类型也一同考虑
  • 需要break 跳出,负责无条件执行下面的语句,所以一般是每个case块都有break结束。
    这里写图片描述

扩展

除了使用 if..else../if 和 switch 之外,还可以使用三元运算符和短路写法

  • 三元运算符: 条件 ? val1 : val2
    1:赋值的时候,根据条件只有两个值时,可以选择使用;
    2:条件 = true 赋值 = val1 / 条件 = faluse 赋值 = val2;
    console。log(true ? 3:8) //输出3

  • 短路写法这里写图片描述

循环语句

for

for-in:日后 这里写图片描述
*先判断再执行,反复执行直到符合特定的条件;让 循环变量
依次取不同的值,反复执行同一些语句。

for循环其实不难,理解其核心,【穷举思想】
难点 :结合breakcontinue 优化算法

break: 循环语句遇上该关键字,这个循环就会结束,不再进行其他迭代
for( var i = 1 ;i < 100;i++){
consolo.log(i);
if( i == 5){
break // 找到了,就立刻停止循环
//1,2,3,4,5

continue: 循环遇上该语句,会立刻终止执行后面的语句,然后进入下一次的迭代。
for( var i = 1;i<5; i++){
if( i ==3){
continue;
}
console.log(i) // 找到了 3不输出,直接i=4
//1,2,4,5

扩展

break与continue的相同点与区别

相同点
  • 只能终端当前最内层的for,外层for要加label
  • 即使加了babel,原来的功能仍然不变,以代码示例
不同点
  • 循环遇上break就会终止循环,而continue是停止此次循环,继续从循环的顶部即最靠近它的一个循环体 开始执行。

*continue结合babel

代码示例1:使用babel

不仅跳过内层此次 j=2,停止执行后面的语句,开始迭代以一个j=3;但是同时,也跳过外层此次i = 2,停止后面的语句,开始执行外层下一次的循环i=3。

这里写图片描述

代码示例2:正常嵌套

仅跳过内层j = 2,停止执行后面的语句,开始下一次循环j =3;不跳过外层此次的循环i = 2,开始执行外层下一次的循环。
这里写图片描述


*break结合babel

代码示例1:使用babel

使用babel:不仅立即跳出j = 2这个内部循环体;同时也立即跳出外层i=3的循环体。

这里写图片描述

代码示例2:正常嵌套

仅立即跳出j = 2这个内部循环体;外层i=3的循环体继续。
这里写图片描述

while /do …while

  • do while : 后置验证语句:永远都会先执行一次
    do{语句
    }while(条件表达式)

    程序一开始就会执行语句,然后验证条件,真,就继续执行语句

  • while : 前置验证语句:先判断

    • `while(falese){
    • console.log(“haha”)
    • } //不输出`

总结:
1: while和do while经常容易拿来用在没有循环变量的情况,经常做死循环,要是想跳出循环,需要break;
2 : while与 do while 区别不大,一个前置验证语句,一个先判断再执行
3 : for 的功能比它们俩强

扩展

  • 随机数:Math.random();

定义变量n : 随机产生一个范围[ i ,j +i) 的数

var n = parseInt(Math.random()*j)+i;`

* Mytask *

流程控制语句

定义 D

定义D内容

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值