2016-05-15 40 views
0

我做了以下交換功能:簡單交換程序的JavaScript

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

它應該換2號。 我有follwing代碼:

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

的問題是,當我輸出交換後,這些變量的vaues我仍然得到了Y 5 x和10。 任何想法?

+0

的** **數值的'x'和'y'被傳入'swap',而不是變量本身(或對它們的引用)。 –

回答

0

,因爲參數是按值傳遞,你可以不寫,它取代了以下功能:

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

你也可以使用一個班輪:

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