我想通过使用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&amp; 10而不是1&amp; 2。
答案 0 :(得分:3)
简单地使用,为什么会使事情变得复杂?
var a = in1;
in1=in2;
in2=a;
如果您想在不使用第三个变量的情况下进行交换 ,请将其转换为Number()
in1 = Number(in1);
in2 = Number(in2);
in1=in1+in2;
答案 1 :(得分:1)
如果要将值分配给其他ID,为什么要交换。
document.getElementById("o1").value=document.getElementById("i2").value;
document.getElementById("o2").value=document.getElementById("i1").value;
答案 2 :(得分:1)
答案 3 :(得分:1)
两个变量中的值都是 string 类型而不是 Integers 。要执行数值运算,我们需要先将字符串值转换为Integers ::
var in1 = parseInt(document.getElementById("i1").value);
var in2 = parseInt(document.getElementById("i2").value);
只需用上面的代码替换你的代码,它就可以正常工作!!