switch 分支和穿透现象,三元表达式,while 循环,prompt 获取用户输入

23 阅读4分钟
switch 分支语句
if 相同, 也属于 条件分支语句
      
           if (要判断的变量) {
               想要执行的代码
           }
      
           语法:
           switch (要判断的变量) {
               case 情况1:
                   情况1要执行的代码
                   break;
               case 情况2:
                   情况2要执行的代码
                   break;
           }
      
           判断逻辑: 判断的变量 是否 === case 上说明的情况
      
               注意: switch...case 在判断时, 执行的时 全等, 也就是 === 
               所以数据类型不同时, 也不会正确执行
    

    var a = '100'
    switch (a) {
        case 1:
            console.log('如果我执行, 说明 a === 1')
            break;
        case 10:
            console.log('如果我执行, 说明 a === 10')
            break;
        case 100:
            console.log('如果我执行, 说明 a === 100')
            break;
        case '100':
            console.log('如果我执行, 说明 a 是一个字符串类型的 100')
            break;
        default:
            console.log('上述情况都不满足的时候, 我会执行')
    }
switch 在书写的时候 如果不写 break 会出现穿透现象
           穿透现象:
               找到第一个满足的 case 的时候, 开始执行这个代码
               执行完毕如果没有 break 会继续执行下一个 case
               直到 遇到一个 break 或者 分支语句全部执行完毕
    

     var a = 1
     switch (a) {
         case 1:
             console.log('case 1 执行')
         case 10:
             console.log('case 10 执行')
         case 20:
             console.log('case 20 执行')
             break
         case 30:
             console.log('case 30 执行')
         case 40:
             console.log('case 40 执行')
         case 100:
             console.log('case 100 执行')
         default:
             console.log('上述情况都不满足的时候, 我会执行')
三元表达式
           别名: 三目表达式    三目运算符  三目    问号冒号表达式
      
           语法:   条件 ? 条件为真时执行的代码 : 条件为假时执行的代码
     
           意义: 对 if 分支语句 做一个简化操作
      
           注意:  不管条件真还是假的代码!!  都只能写一行
    

     var a = 100
     a > 1000 ? console.log('如果我输出了, 说明 a 的值 大于 1000') : console.log('如果我输出了, 说明 a 的值 小于 1000')

    
     利用 三元表达式 给变量赋值      

        var num = 2 // 约定, 如果 num === 1 那么代表为男性      num 不等于 1 的时候代表为 女性

        var gender = num === 1 ? '男' : '女'

        console.log(gender)
循环语句
           意义: 帮助我们去执行 重复的 代码
      
           什么是循环语句
               根据给出的某些条件, 重复执行一段代码
      
           循环语句
               1. 初始化
               2. 条件判断
               3. 要执行的代码
               4. 改变自身(改变初始化的内容)
      
      
           1. while 循环
      
               语法: while (条件) {满足条件时执行的代码}
    



     需求, 想让这个代码 执行 1000// console.log(1)

    var num = 0             // 1. 初始化
    while (num < 1000) {    // 2. 小括号内的是 条件判断
        console.log(1)      // 3. 要执行的代码
        num++               // 4. 改变自身
    }

    
        页面一打开, 执行代码到 第 38 行, 创建一个变量 num 并赋值为 039 行 发现书写了一个 while 循环, 循环的运行条件是 num < 10, 
               如果后续 num 的值 不满足 这个条件的时候, 循环就会结束
               否则, 一直重复执行 while 的 大括号内的代码
      
           第一次执行  num === 0
               while 循环的 执行条件是 num < 3     目前满足, 所以进入循环开始执行内部的代码
                   1. console.log(1)
                   2. num++        给 num 的值 自增1
      
           第二次执行 num === 1
               while 循环的 执行条件是 num < 3     目前满足, 所以进入循环开始执行内部的代码
                   1. console.log(1)
                   2. num++        给 num 的值 自增1
      
           第三次执行 num === 2
               while 循环的 执行条件 num < 3       目前满足, 所以进入循环开始执行内部的代码
                   1. console.log(1)
                   2. num++        给 num 的值 自增1
      
           第四次执行 num === 3
               while 循环的 执行条件 num < 3       目前不满足条件了, 所以结束循环
    

     var num = 0             // 1. 初始化
     while (num < 1000) {    // 2. 小括号内的是 条件判断
         console.log(1)    // 3. 要执行的代码
     }

    
        第一次执行 num === 0
               此时 满足 while 的 条件, 所以进入循环 开始执行内部的代码
                   console.log(1)
      
       第二次执行 num === 0
               此时 满足 while 的 条件, 所以进入循环 开始执行内部的代码
                   console.log(1)
      
       第三次执行 num === 0
           此时 满足 while 的 条件, 所以进入循环 开始执行内部的代码
                   console.log(1)
      
       第四次执行  num === 0
           此时 满足 while 的 条件, 所以进入循环 开始执行内部的代码
                   console.log(1)
      
      
           永无止境...
prompt获取用户输入
           prompt 方法 可以帮助我们获取用户输入的信息
                
           注意: 不管用户输入的是什么, 接收到的类型永远是 字符串类型的
      
           如果你想当作数字类型使用, 记得转换为数字!!!!!!!!
    
    var year = prompt('请您输入一个 年份')
    var month = prompt('请您输入一个 月份')


    console.log('用户输入的年份: ', year)
    console.log('用户输入的月份: ', month)