为什么我的浏览器始终把两个变量相加理解为拼接?我输1+2,结果框显示12。。。

来源:6-11 编程练习

慕用3024512

2017-04-12 16:56

function count(){
       
    var a=document.getElementById("txt1").value;//获取第一个输入框的值
    var b=document.getElementById("txt2").value;//获取第二个输入框的值
    var c=document.getElementById("select").value;//获取选择框的值
    var d;
    if(c=="+"){d=a+b}
    else if(c=="-"){d=a-b}
    else if(c=="*"){d=a*b}
    else if(c=="/"){d=a/b}
    //获取通过下拉框来选择的值来改变加减乘除的运算法则
    document.getElementById("fruit").value=d;//设置结果输入框的值
   
   }

写回答 关注

2回答

  • 期许虚欺
    2017-04-12 17:52:14
    已采纳

    因为默认类型为字符串类型,需要把他强制改为整型var a=parseInt(document.getElementById("txt1").value);然后你再试试

    慕用3024...

    非常感谢!

    2017-04-12 18:19:45

    共 1 条回复 >

  • 田丰丰丰丰丰丰丰
    2017-04-12 17:59:02

    因为获取到的值以字符串类型保存,用parseInt()或者parseFloat()转换成整形或浮点型才能做算术运算。

JavaScript进阶篇

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

468197 学习 · 21891 问题

查看课程

相似问题