N
neerolyte
How would I pass an object variable to a function without that variable
getting changed in the function changing the variable that was passed (eg
both variables treated as one)?
<script>
var a = 1;
var b = 2;
function sub(a, b)
{
a = a - b;
return a;
}
document.write("a = " + a + "<br>");
document.write("b = " + b + "<br>");
document.write("sub(a, b) = " + sub(a, b) + "<br>");
document.write("a = " + a + "<br>");
document.write("b = " + b + "<p>");
var a = new Object();
a.val = 1;
var b = new Object();
b.val = 2;
function subo(a, b)
{
a.val = a.val - b.val;
return a.val;
}
document.write("a = " + a.val + "<br>");
document.write("b = " + b.val + "<br>");
document.write("subo(a, b) = " + subo(a, b) + "<br>");
document.write("a = " + a.val + "<br>");
document.write("b = " + b.val + "<br>");
</script>
the above script outputs:
a = 1
b = 2
sub(a, b) = -1
a = 1
b = 2
a = 1
b = 2
subo(a, b) = -1
a = -1 <= I want this to still be 1
b = 2
thanks in advance
getting changed in the function changing the variable that was passed (eg
both variables treated as one)?
<script>
var a = 1;
var b = 2;
function sub(a, b)
{
a = a - b;
return a;
}
document.write("a = " + a + "<br>");
document.write("b = " + b + "<br>");
document.write("sub(a, b) = " + sub(a, b) + "<br>");
document.write("a = " + a + "<br>");
document.write("b = " + b + "<p>");
var a = new Object();
a.val = 1;
var b = new Object();
b.val = 2;
function subo(a, b)
{
a.val = a.val - b.val;
return a.val;
}
document.write("a = " + a.val + "<br>");
document.write("b = " + b.val + "<br>");
document.write("subo(a, b) = " + subo(a, b) + "<br>");
document.write("a = " + a.val + "<br>");
document.write("b = " + b.val + "<br>");
</script>
the above script outputs:
a = 1
b = 2
sub(a, b) = -1
a = 1
b = 2
a = 1
b = 2
subo(a, b) = -1
a = -1 <= I want this to still be 1
b = 2
thanks in advance