在js中交换变量

swaping variables in js

本文关键字:变量 交换 js      更新时间:2023-09-26

我想用javascript交换2个变量,下面是我的代码:

<html>
    <head>
        <script type="text/javascript">
            function a(){
                var in1 = document.getElementById("i1").value;
                var in2 =  document.getElementById("i2").value;
                in1=in1+in2;
                in2=in1-in2;
                in1=in1-in2;
                document.getElementById("o1").value=in1;
                document.getElementById("o2").value=in2;
            }
        </script>
    </head>
    <body>
        <input type=text id=i1><br>
        <input type=text id=i2><br>
        <input value=change type=button onclick="a();"><br>
        <input type=text id=o1><br>
        <input type=text id=o2>
    </body>
</html>

但是当我运行函数时,我得到的值是1&10而不是1&2.

简单使用,为什么要把事情复杂化

var a = in1;
in1=in2;
in2=a;

如果您想在不使用第三个变量的情况下进行交换,请将它们强制转换为Number()

in1 = Number(in1);
in2 = Number(in2);
in1=in1+in2;

如果将值分配给其他id,为什么要交换。

  document.getElementById("o1").value=document.getElementById("i2").value;
  document.getElementById("o2").value=document.getElementById("i1").value; 

您需要将它们解析为如下数字:

in1 = parseInt(in1);
in2 = parseInt(in2);

在此处测试

两个变量中的值都是字符串类型,而不是整数。要执行数值运算,我们需要首先将字符串值转换为整数::

var in1 = parseInt(document.getElementById("i1").value);
var in2 = parseInt(document.getElementById("i2").value);

只要用上面的代码替换你的代码,它就会正常工作!!