看别人的代码中,Switch语句,执行第一个case中取了a与b的值之后,后续casa就不用parseInt()函数,直接写a-b, a*b, a/b,为什么?

来源:6-11 编程练习

慕先生5247145

2018-07-25 17:51

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

    var a=document.getElementById("txt1").value;  

    //获取第一个输入框的值

    var b=document.getElementById("txt2").value;

//获取第二个输入框的值

var c=document.getElementById("select").value;

//获取选择框的值

var d=""

switch(c){

case'+':

d=parseInt(a)+parseInt(b);

break;

case'-':

d=parseInt(a)-parseInt(b);;

break;

case'*':

d=parseInt(a)*parseInt(b);;

break;

case'/':

d=parseInt(a)/parseInt(b);;

break;

}

//获取通过下拉框来选择的值来改变加减乘除的运算法则

    document.getElementById("fruit").value=d

    //设置结果输入框的值 

   }

  </script> 

 </head> 

 <body>

   <input type='text' id='txt1' /> 

   <select id='select'>

<option value='+'>+</option>

<option value="-">-</option>

<option value="*">*</option>

<option value="/">/</option>

   </select>

   <input type='text' id='txt2' /> 

   <input type='button' value=' = ' onclick="count()" /> <!--通过 = 按钮来调用创建的函数,得到结果-->

   <input type='text' id='fruit' />   

 </body>

</html>


写回答 关注

2回答

  • 慕姐0174544
    2018-07-25 18:47:19
    已采纳

    算术符中有“+、-、*、/”等,然而“+”同时也属于操作符,例如:mystring="Java"+"script"。如果你直接用d=a+b,那么界面计算器显示的结果就是ab(操作符之间的逻辑关系中:算术符<操作符),所以要带上parseInt(意思是将字串符转为整数),表示此处用做算术符。后面的“-,*,/”是单纯的算术符,是可以不带parseInt(不带的话,页面计算器中某些运行的结果就不能化整,例如:1/3=0.3333333.....)。任务中要求带parseInt,你还是带一下比较好!麻烦采纳一下,毕竟辛辛苦苦打了这么多字,哈哈^_^!

    慕先生524...

    非常感谢~~~~

    2018-07-27 05:50:18

    共 1 条回复 >

  • 0我思故我在0
    2018-07-25 21:29:26

    直接封装成一个函数了吧,不然按你的描述,后续的case执行会有问题的

JavaScript进阶篇

本课程从如何插入JS代码开始,带您进入网页动态交互世界

468060 学习 · 21891 问题

查看课程

相似问题