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

选择加的时候,直接用text1和text2时不正确,而其他运算是正确的。请问下,什么时候是必须用parseInt()函数的呢

<!DOCTYPE html>

<html>

 <head>

  <title> 事件</title>  

  <script type="text/javascript">

   function count(){

      var  text1,text2,text3,result

      text1=document.getElementById("txt1").value;

      text2=document.getElementById("txt2").value; 

 text3=document.getElementById("select").value; 

 switch(text3)

        { case"+":

            result=parseInt(text1) + parseInt(text2);

            break;

          case"-":

            result=text1-text2;

            break;

          case"*":

            result=text1*text2;

            break;

          case"/":

            result=text1/text2;

            break;

        }

      document.getElementById("fruit").value=result; 

    

   }

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

document.getElementById("txt1").value这个取到的值是String类型,字符串相加就是连接的意思啦例如"1"+"2"=12,parseInt()可以将其装换成int类型哦,就可进行计算了

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

qq_李秀琴_0 提问者

但是-、*、/是直接可以不用parseInt的吗
2015-12-21 回复 有任何疑惑可以回复我~
#2

lynhao 回复 qq_李秀琴_0 提问者

text取出来的事文本内容,string类型,如果你真的要进行算术运算,选择parseInt或者Number
2015-12-21 回复 有任何疑惑可以回复我~
#3

lynhao 回复 qq_李秀琴_0 提问者

-、*、/这个js会识别,它有自己的底层代码,你感兴趣可以研究下,因为+号有多重含义,所以就要自己再写点代码让机器判断出来是要连接还是计算
2015-12-21 回复 有任何疑惑可以回复我~
#4

qq_李秀琴_0 提问者

非常感谢!
2015-12-21 回复 有任何疑惑可以回复我~
查看1条回复

+运算符左右两边有字符串时,会进行字符串连接操作而不是数学运算;

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

举报

0/150
提交
取消

选择加的时候,直接用text1和text2时不正确,而其他运算是正确的。请问下,什么时候是必须用parseInt()函数的呢

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号