简单的交换程序不工作的JavaScript

时间:2016-05-15 13:41:44

标签: javascript algorithm swap

我做了以下交换功能:

function swap(a,b)
{
    var c=b;
    b=a;
    a=c;
}

应该交换2个数字。 我有以下代码:

var x=5;
var y=10;
swap(x,y);

问题在于,当我在交换后输出这些变量的值时,我仍然得到5表示x,10表示y。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

由于参数是按值传递的,因此您无法编写替换以下内容的函数:

var a, b;
var temp = a;
a = b;
b = temp;

你也可以使用单行:

b = [a, a = b][0];