请问这是为什么?谢谢!

来源:6-11 编程练习

czx陈先森

2015-06-04 00:05

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){ 

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

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

//获取选择框的值

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

    //设置结果输入框的值 

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

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

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

switch(objselect){

case "+" : return document.getElementById("fruit").value=one+two;

case "-" : return document.getElementById("fruit").value=one-two;

case "*" : return document.getElementById("fruit").value=one*two;

case "/" : return document.getElementById("fruit").value=one/two;

}

   }

  </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>

 

请问各位大神,为什么我这样用加法那里出来的是两个字符串连起来?而用parseInt()就可以正常?

写回答 关注

2回答

  • 成者并非一蹴而就
    2015-06-04 00:51:05
    已采纳

    因为你获取的是字符串,不转化相加当然是字符串拼接...


    parseInt的作用就是把字符串转化为整数(适用于数字字符串),parseFloat转为浮点数

    czx陈先森

    非常感谢!

    2015-06-04 14:37:33

    共 1 条回复 >

  • RoughSurfaceBC
    2015-06-04 10:09:40

    你获得的值的数据类型如果其中一个为字符串,那么计算结果会转化为字符串。

    parseInt是全局的函数,用来将字符串类型转化为int类型。所以遇到这种情况应该考虑你的值类型是否是你所希望的。

    czx陈先森

    非常感谢!

    2015-06-04 14:37:48

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题