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

这是怎么回事

我知道+也表示连接的意思,但是我这块应该获取的是数字,为什么会出现 【3 + 4 = 34】这种情况。<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
       
    //获取第一个输入框的值
    var num1 = document.getElementById("txt1").value;
    
    //获取第二个输入框的值
    var num2 = document.getElementById("txt2").value;
    //获取选择框的值
    var sel = document.getElementById("select").value;
    //获取通过下拉框来选择的值来改变加减乘除的运算法则
    var result;
    switch (sel)
    {
        case '+':result = num1 + num2;break;
        case '-':result = num1 - num2;break;
        case '*':result = num1 * num2;break;
        case '/':result = num1 / num2;break;
        default:document.write("不存在该符号");
    }
    //设置结果输入框的值
    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>

正在回答

3 回答

如果不喜欢parseInt函数 可以用txt1.value/1 这样隐式转换代码短一些

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

Javascript的数据类型可以互相转换,用parseInt()函数将输入的字符串转换为数值 ,即可得到正确的答案 

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

通过文本框输入的数字其实也是字符串,你可以分别用alert(typeof num1/num2)测试下~~需要可以帮到你~~

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

qq_含蓄小男生_03743553

原来如此 也对 文本框的type就是text 数字输进去就成字符串了
2016-08-16 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468188    人
  • 解答问题       21891    个

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

进入课程

这是怎么回事

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