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

为什么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>

正在回答

5 回答

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

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

document.getElementById("txt1").value;

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

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

  function count(){

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

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

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

    n1=parseInt(n1);

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

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

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

    n2=parseInt(n2);

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

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

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

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

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


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

举报

0/150
提交
取消

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

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