写了两种方式,发现在做+运算的时候,需要加Number(),不然出的结果不是和,而是字符串相连

来源:6-11 编程练习

慕码人7255994

2022-05-06 22:11

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
       var num1=document.getElementById("txt1").value,
    //获取第一个输入框的值
    
    num2=document.getElementById("txt2").value,
//获取第二个输入框的值
select=document.getElementById("select").value,
fruit
//获取选择框的值
if(select=="+"){
    fruit=Number(num1)+Number(num2)
}
else if(select=="-"){
    fruit=num1-num2
}
else if(select=="*"){
    fruit=num1*num2
}
else{
    fruit=num1/num2
}
//获取通过下拉框来选择的值来改变加减乘除的运算法则
    document.getElementById("fruit").value=fruit
    //设置结果输入框的值 
   }
  </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>


把if换成switch:

switch (select) {
case "+": fruit = Number(num1) + Number(num2);
break;
case "-": fruit = num1 - num2;
break;
case "*": fruit = num1 * num2;
break;
case "/": fruit = num1 / num2;
break;
}
写回答 关注

2回答

  • 秋小叶
    2022-06-16 16:41:25

    练习中提示:

    注意: 使用parseInt()函数可解析一个字符串,并返回一个整数。

    所以:

    var num1=document.getElementById("txt1").value,

    可以修改为:

    var num1 = parseInt(document.getElementById("txt1").value);


    还有一个小细节:JS 如果要以符号结尾的话要是用“;”

  • 周帅帅Love
    2022-05-11 09:48:23
    因为里面的类型是字符串,字符串和字符串或者字符串和数字进行+的话,都会显示拼接,如果你想要将字符串数字变成数字进行加的话,除了使用的Number方法,你还可以使用(num1-0)+(num2-0)或者(+num1)+(num2)这些方法都可以。

JavaScript进阶篇

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

468194 学习 · 21891 问题

查看课程

相似问题