2013-02-09 77 views
-1

我想通過另一個將引用第一個變量的變量將值設置爲變量。 請參閱下面的示例。是否可以通過使用第二個變量將值賦給變量?

var white = 1; 
var black = 15; 
var flag = 'white'; 

if (flag == 'white') { 
    var color = &white; 
    color++; 
} else { 
    var color = &black; 
    color--; 
} 
alert(white + ' ' + black); 
//will display 2 15 
// or 
//will display 1 14 

很多謝謝。

回答

0

JS中沒有真正的通過引用。不過,我想出了這招(對象是JS的唯一的東西是通過引用傳遞):

var white = { val: 1 }, 
    black = { val: 15 }, 
    flag = 'white', color; 

if (flag == 'white') { 
    color = white; 
    color.val++; 
} else { 
    color = black; 
    color.val--; 
} 

alert(white.val + ' ' + black.val); // 2, 15 
0

有沒有像&black&white在JavaScript中沒有引用變量可以說

var color = white; 

和警報將顯示2 15

您的else語句將永遠不會執行。

0

在JS中,通過引用傳遞只發生在對象上。原始值通過引用傳遞。 JS中沒有任何功能可以直接與C指針等效。