问答详情
源自:6-11 编程练习

为什么1+1=11,2+2=22?麻烦帮我看下代码

<!DOCTYPE html>
<html>
 <head>
  <title> 事件</title>  
  <script type="text/javascript">
   function count(){
 var a=document.getElementById("txt1").value;   
    //获取第一个输入框的值
var b=document.getElementById("txt2").value;    //获取第二个输入框的值
var c=document.getElementById("select").value;    //获取选择框的值
    switch(c){
     case "+":document.getElementById("fruit").value=a+b;break;
     case "-":document.getElementById("fruit").value=a-b;break;
    case "*":document.getElementById("fruit").value=a*b;break;
   default:document.getElementById("fruit").value=a/b;
    }//获取通过下拉框来选择的值来改变加减乘除的运算法则
    //设置结果输入框的值
    
   }
  </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>

提问者:qq_随风飘_1 2016-11-26 09:34

个回答

  • qq_山外青山_0
    2016-11-29 15:17:52
    已采纳

    加号作为算术运算符时候,意思是相加,如 1 + 1 =2;作为逻辑运算符时意思为拼接,如 “1”+“1”,结果为 11 。通过ID取出的值都是字符串类型,加号就是拼接(本质上是“1”+“1”)。通过parseInt()将他转为数字,就是算数相加了。

  • Ready_鞠
    2016-12-08 22:45:22

    document.getElementById("txt1").value;

    这句代码获取到的值是一个字符串,需要用parseInt()函数来解析字符串,然后会返回一个整数

  • 挨踢大神
    2016-11-26 15:44:44

      function count(){

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

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

            //将第一个获取的值从字符串转化为数值

        n1=parseInt(n1);

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

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

            //将第二个获取的值从字符串转化为数值

        n2=parseInt(n2);

            // 其他的就是判定多选框中的符号作为计算,然后结果输出给 id=fruit 的 value 值即可。

  • AaronWell
    2016-11-26 11:54:32

    ”+“可以是两个字符串的相加,所以它将a、b当作字符串了,你可以通过parseInt或parseFloat。前者转换为整数,后者为浮点数

  • qq_我爱刘亦菲_04082965
    2016-11-26 10:59:13

    <!DOCTYPE html>

    <html>

     <head>

      <title> 事件</title>  

      <script type="text/javascript">

       function count()

     {

        //var num1 = document.getElementById('txt1').value;

       

        var num1 = parseInt(document.getElementById("txt1").value);

        //var num2 = document.getElementById('txt2').value;

       

        var num2 = parseInt(document.getElementById("txt2").value);

        //var symbol = document.getElementById('select').value;

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

        switch(symbol)

        {

            case "+": result=num1+num2;break;

            case "-": result=num1-num2;break;

            case "*": result=num1*num2;break;

            case "/": result=num1/num2;break;

        }

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

        //设置结果输入框的值

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

        return result;// "txt1" "txt2" "select"

     }

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