JavaScript基础-part02

part02 流程控制语句

三种结构:

  • 顺序结构
  • 分支结构
  • 循环结构

一、顺序结构

依次从上往下执行就叫顺序结构

二、分支结构

可以让我们有选择性的执行想要的代码,包含

  • if分支语句
  • 三元运算符
  • Switch case语句
1、if语句
  • 单分支
if(条件){
   满足条件要执行的代码
   }

➢ 括号内的条件为true时,进入大括号里执行代码

➢ 小括号内的结果若不是布尔类型时,会发生隐式转换转为布尔类型

➢ 如果大括号只有一个语句,大括号可以省略,但是,俺们不提倡这么做~

  • 双分支
if(条件){
   满足条件要执行的代码
   }
else{
    不满足条件执行的代码
}

  • 多分支
if(条件1){
   满足条件要执行的代码1
}else if(条件2){
   满足条件要执行的代码2
}else if(条件3){
  满足条件执行的代码3
}else{
    不满足条件执行的代码n
}

  • 判断闰年案例
  let year = prompt("输入查询的年份")
        if((year%4===0&&year%100!==0)||year%400===0){
            alert(`${year}年是闰年`)
        }
        else{
            alert(`${year}年是平年`)
        }
2、三元运算符

使用场景: 其实是比 if 双分支 更简单的写法,可以使用 三元表达式

  • 符号:? 与 : 配合使用
  • 语法:
条件?满足条件执行的代码:不满足条件执行的代码
  • 一般用来取值
        let a = +prompt('请输入你的第一个值')
        let b = +prompt('请输入你的第二个值')

        // if(判断条件){}else{}
        // if (a > b) {
        //     alert(a)
        // } else {
        //     alert(b)
        // }

        // 三元一次表达式的写法
        // 语法:判断条件 ? 返回满足条件的代码 : 返回不满足条件的代码;
        // a > b ? alert(a) : alert(b)

        // 表达式是用来计算求值的,一般都会有一个结果产生

        // a,b默认是字符串类型  ,字符串比较的ASCII码,a的码是97
        let val = a > b ? a : b // 1 > 2 ? 结果1 : 结果2
        console.log(val);

  • 数字补0案例—用户输入1个数,如果数字小于10,则前面进行补0, 比如 09 03 等
 let num = +prompt('请输入一个数字')
   let val = num < 10 ? '0' + num : num
        console.log(val);
3、switch 语句
switch(数据){
    case1:
        代码1
        break
    case2:
        代码1
        break
     case3:
        代码1
        break
     default:
        代码n
        break
       }

释义:

➢ 找到跟小括号里数据全等的case值,并执行里面对应的代码

➢ 若没有全等 === 的则执行default里的代码

➢ 例:数据若跟值2全等,则执行代码2

注意:

​ 1. case的值要和固定数据类型保持一致

​ 2. case里面的值和固定数据,是进行全等比较,比较的是值和类型

​ 3. break不能删除,不然会造成穿透效果,效果是终止你的代码运行

​ 4. default和break关键字是可以省略的,因为他是最后一项


  • 简单计算器
 let num1 = +prompt('请输入第一个值')
        let num2 = +prompt('请输入第二个值')
        let cz = prompt('请输入:+,-,*,/其中任意一个')
        switch (cz) {
            case '+':
                alert(num1 + num2)
                break
            case '-':
                alert(num1 - num2)
                break
            case '*':
                alert(num1 * num2)
                break
            case '/':
                alert(num1 / num2)
                break
            // 特殊情况:用户如果没有输入+,-,*,/,提示用户输入
            default:
                alert('输入错误,请输入+,-,*,/其中一个')
        }

三、循环语句

1、while语句
while(循环条件){
      要重复执行的代码(循环体)
      }

释义:

➢ 跟if语句很像,都要满足小括号里的条件为true才会进入 循环体 执行代码

➢ while大括号里代码执行完毕后不会跳出,而是继续回到小括号里判断条件是否满足,若满足又执行大括号里的代码,然后再回到

小括号判断条件,直到括号内条件不满足,即跳出

循环的本质就是以某个变量为起始值,然后不断产生变化量,慢慢靠近终止条件的过程。

所以,while循环需要具备三要素:

  1. 循环变量初始化
  2. 循环条件(判断条件是否成立,成立执行循环体代码,不成立,循环结束)
  3. 变量更新(用自增或者自减
2、for 语句
for(变量的起始值;循环的终止条件;变量的变化量){
    循环体
}


  • 打印小星星案例
 //页面中打印5个小星星
        for (let i = 1; i <= 5; i++) {
             document.write('★')
         }

3、双重循环
        // 双重for循环  外层循环一次 里层循环多次
        // 外层控制天数  3次
        for (let i = 1; i <= 3; i++) {
            document.write(`这是第${i}天<br>`);
            for (let j = 1; j <= 5; j++) {
                document.write(`这是第${j}个单词 <br>`);
            }
        }
        // 里层循环控制单词数量  5次
        //一共有3*5次=15次循环


  • 九九乘法表
       // 分析: 1. 外层for循环控制行数  9行
        for (let i = 1; i <= 9; i++) {
            //       2. 里层for循环控制列数 列数=行数 1=1 2=2...9=9
            for (let j = 1; j <= i; j++) {
                //  打印的代码  1*1=1
                document.write(`<span>${j}X${i}=${i * j}</span>`)
            }
            document.write('<br>')
        }

break & continue

  • break 在循环使用,退出循环,break执行完毕之后break关键字后面是不执行
  • continue 跳过本次循环, continue后面的代码不执行,继续下一次循环

js精确度

  • 当小数之间进行运算时会出现问题,如
   console.log(0.1 + 0.2);//0.3
   console.log(0.1 + 0.2 === 0.3);//false

  • 解决的方式:
 console.log((0.1 * 10 + 0.2 * 10) / 10 === 0.3);//true

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一个大萝北

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值