Javascript js中的交换变量
我想使用javascript交换2个变量,下面是我的代码:Javascript js中的交换变量,javascript,html,Javascript,Html,我想使用javascript交换2个变量,下面是我的代码: <html> <head> <script type="text/javascript"> function a(){ var in1 = document.getElementById("i1").value; var in2 = document.getElementById("i2
<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>
函数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;
}
但是当我运行这个函数时,我得到的是值1和10,而不是1和2。简单地使用,为什么要把事情复杂化呢
如果要在不使用第三个变量的情况下进行交换,请将其强制转换为Number()
简单的使用,为什么要把事情复杂化
如果要在不使用第三个变量的情况下进行交换,请将其强制转换为Number()
如果将值分配给其他ID,为什么要交换
document.getElementById("o1").value=document.getElementById("i2").value;
document.getElementById("o2").value=document.getElementById("i1").value;
如果将值分配给其他ID,为什么要交换
document.getElementById("o1").value=document.getElementById("i2").value;
document.getElementById("o2").value=document.getElementById("i1").value;
您需要将它们解析为如下数字:
in1 = parseInt(in1);
in2 = parseInt(in2);
您需要将它们解析为如下数字:
in1 = parseInt(in1);
in2 = parseInt(in2);
这两个变量中的值都是字符串类型,而不是整数。要执行数字操作,首先需要将字符串值转换为整数:
var in1=parseInt(document.getElementById(“i1”).value)
var in2=parseInt(document.getElementById(“i2”).value);
只要用上面的代码替换你的代码,它就会工作得很好 两个变量中的值都是字符串类型而不是整数。要执行数字操作,首先需要将字符串值转换为整数:
var in1=parseInt(document.getElementById(“i1”).value)
var in2=parseInt(document.getElementById(“i2”).value);
只要用上面的代码替换你的代码,它就会工作得很好 只需将其转换为
Number()
:只需将其转换为Number()
:OP实际上试图在不使用第三个变量的情况下进行交换,我猜数字转换是其代码的问题。OP实际上试图在不使用第三个变量的情况下进行交换,我猜数字转换是其代码的问题。当然,这种方式更好,当然,这种方式更好,但我也想用这种交换方式进行教育。