为了账号安全,请及时绑定邮箱和手机立即绑定

请问这是为什么?谢谢!

<!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 回答

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


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

0 回复 有任何疑惑可以回复我~
#1

czx陈先森 提问者

非常感谢!
2015-06-04 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~
#1

czx陈先森 提问者

非常感谢!
2015-06-04 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请问这是为什么?谢谢!

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信