我想使用javascript 2交换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;

10-07 18:02