2013-02-09 80 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指针等效。