JavaScript学习

阅读: 评论:0

JavaScript学习

JavaScript学习

一、if单分支

语法格式:
if()
{代码块;   
}

if后面的括号内一般都是一个表达式,但是最终只要有值就行,并且这个值最终会转化为boolean类型。

也可以理解为if自含有隐式转换。

案例:
var str = prompt('请输入一个数字') ;
var b = parseInt(str) ;
// 从键盘上输入的东西一概是字符串,需要把这个字符串转化为数字;
if (b > 0)
{b = b + 5 ;
}
console.log(b);

单分支其实可以理解为也是双分支,只不过,单分支它只管符合的那个分支。不符合的时候,什么都不做。

就像下面这样:

if (b > 0)
{b = b + 5 ;
}
else
{}

二、if双分支

单分支双分支其实都可以理解为双分支,也就是把一件事分成两种情况去处理,符合条件不符合条件

  • 单分支只是处理了符合条件的,不符合条件的不管
  • 双分支都要处理
语法格式:
if ( )
{代码块;
}
else
{代码块;
}
案例:
if (b > 0)
{b = b + 5;
}
else
{b = b + 10;
}
双分支和三元表达式(问号冒号表达式)

表达式 ? 值 : 值 :先执行第一个表达式(也就是 " ? " 前面的表达式),看看这个表达式是否为真。

  • 如果第一个表达式的值为,那么把冒号前面的值,当做最后的结果
  • 如果第一个表达式的值为,那么把冒号后面的值,当做最后的结果

利用三元表达式的特性,我们可以将其与双分支语句进行转换。

var a = 10;				
if(a > 0)
{b = 5;
}
else
{b = a;
}

转换:

var a = 10
var b = a > 0 ? 5 : a;	

什么时候,我们的三元表达式可以替代双分支if语句

双分支if语句每个分支里面只有一行代码的时候,我们就要考虑改为三元表达式去写。

三、if多分支

多分支是把一件事分成多种情况去考虑,每一种情况都要去处理

语法格式:
if ( )
{
}
else if ( )
{
}
else if ( )
{
}
else
{
}
案例:
var num = parseInt( prompt('请输入一个数字!') ) ;
if (num > 0 && num < 10)
{num += 1 ;
}
else if (num >= 10 && num < 100)
{num -= 1 ;
}
else if (num >= 100 && num < 200)
{num *= 2 ;
}
else if (num >= 200 && num < 500)
{num /= 2 ;
}
else
{num %= 3 ;
}
console.log(num) ;

四、if分支案例

  1. 单分支
    • 输入钱数,如果超过100块我就去环游世界

      var money = parseFloat( prompt('你有多少钱?') ) ;
      if (money > 100)
      {alert('带你去浪漫的土耳其') ;
      }
      // else
      // {
      //         alert('老实在家呆着吧!') ;
      // }
      
  2. 双分支
    • 天气好就去看电影,不好就写代码

      var isGood = parseInt( prompt('请输入表示天气的数字字符串') ) ;
      if (isGood)
      {alert('我要去看桃花侠大战菊花怪!') ;
      }
      else
      {alert('在家苦逼敲代码!') ;
      }
      

      isGood里面最终肯定有一个数字

      if的小括号当中,最终系统是要把括号里面的值转化为boolean的,所以我们可以不用显式转化。

      所以当用户输入0时,if里的isGood值为false,输入其他数字时则为true

    • 输入一个数,这个数如果大于0干啥,不大于0干啥

      var num = parseInt( prompt('请输入一个整数!') ) ;
      if (num > 0)
      {alert('你喝!') ;
      }
      else
      {alert('我喝!') ;
      }
      
  3. 多分支
    • 体重夸奖

      70  ~  90    骨感美
      90  ~  120   性感美
      120 ~  140   丰满美
      140 ~  160   肉感美
      160 ~  200   该减肥了
      其它的        请输入合法体重
      
      var weight = parseInt( prompt('请输入您的体重!') ) ;
      if (weight >= 70 && weight < 90){alert ('骨感美!') ;
      }
      else if (weight >= 90 && weight < 120){alert ('性感美!') ;
      }
      else if (weight >= 120 && weight < 140){alert ('丰满美!') ;
      }
      else if (weight >= 140 && weight < 160){alert ('肉感美!') ;
      }
      else if (weight >= 160 && weight < 200){alert('该减肥了!') ;
      }
      else {alert ('什么鬼?') ;
      }
      
    • 分数判断

      var score = parseInt( prompt('请输入您的分数,分数是0~100之间的数字!') ) ;
      if(score >= 90 && score <= 100){alert ('A') ;
      }
      else if(score >= 80 && score < 90){alert ('B') ;
      }
      else if(score >= 70 && score < 80){alert ('C') ;
      }
      else if(score >= 60 && score < 70){alert ('D') ;
      }
      else if(score < 0 || score > 100){alert ('请重新输入合法的分数!') ;
      }
      else{alert ('不及格,重修去吧~!') ;
      }
      

五、switch分支

switch - case分支语句,其实就是if多分支的变种,为了代码可读性更好一些。

语法格式:
switch(有值的东西,最后这里面是一个值,不会进行转化)
{case 值:代码块;break;case 值:代码块;break;default:代码块;break;
}
  • case代表的是“标号”,它不是我们的代码语句,只是用来做对比用的。
  • 如果switch括号当中的case标号后面的 相等,那么就会执行对应的代码块。
  • 注意:switch括号当中的case标号后面的 判等,用的是严格判等" === "
break的作用:

两个作用,只会出现在switch循环语句当中。

  • switch当中,代表跳出switch语句。
  • 循环当中,代表跳出离它最近的那一层循环
switch 语句执行过程:

先求出小括号当中的 ,接着会拿着这个 从上到下和所有的标号后面的进行对比, 如果判等成功,就执行相对应的代码块

用一个案例与if多分支进行对比:
var num = parseInt( prompt('请输入一个个位数!') ) ;
if (num == 1){alert('周一') ;
}
else if (num == 2){alert('周二') ;
}
else if (num == 3){alert('周三') ;
}
else if (num == 4){alert('周四') ;
}
else if (num == 5){alert('周五') ;
}
else if (num == 6){alert('周六') ;
}
else if (num == 7){alert('周日') ;
}
else {alert('请输入和星期对应的数字!') ;
}

使用switch分支则是下面这样:

switch (num) 
{
case 1:alert('周一');break; //跳出switch语句;
case 2:alert('周二');break;
case 3:alert('周三');break;
case 4:alert('周四');break;
case 5:alert('周五');break;
case 6:alert('周六');break;
case 7:alert('周日');break;
default:alert('请输入和星期对应的数字!');break;
}

六、练习

  • switch分支练习

    输入分数,判定等级

    var score = parseInt( prompt('请输入您的分数,分数是0~100之间的数字!') );
    switch (true)
    {
    case score >= 90 && score <= 100:alert('A');break;
    case score >= 80 && score < 90:alert('B');break;
    case score >= 70 && score < 80:alert('C');break;
    case score >= 60 && score < 70:alert('D');break;
    case score < 0 || score > 100:alert('请重新输入合法的分数!');break;
    default:alert('不及格,重修去吧~!');break;
    }
    
  • if分支嵌套练习

    有92汽油和95号汽油
    92号汽油单价5元/L,如果加的超过30L就4元/L;
    95号汽油单价6元/L,如果加超过40L就5元/L。
    求计算任意一次加油,最后花了多少钱?
    汽油加多少由键盘输入,汽油号也在键盘上输入。

    var money = 0 ;
    var oilL = parseInt( prompt('请输入您要加的油量') ) ;
    var oilNumber = parseInt( prompt('请输入您要加的油号') ) ;
    if (oilNumber == 92)  // 92号油
    {if (oilL > 0 && oilL <= 30)  // 30升内{money = 5 * oilL ;  // 5元每升}else if (oilL > 30)  // 大于30升{money = 4 * oilL ;  // 4元每升}else{alert('请输入正确的加油量');}
    }
    else if (oilNumber == 95)  // 95号油
    {if (oilL > 0 && oilL <= 40)  // 40升内{money = 6 * oilL ;  // 6元每升}else if (oilL > 40)  // 大于40升{money = 5 * oilL ;  // 5元每升}else{alert('请输入正确的加油量') ;}
    }
    else
    {alert('请输入正确的油号:油号只有92和95') ;
    }			
    console.log(money) ;
    

本文发布于:2024-02-08 19:39:29,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170739241068366.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:JavaScript
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23