是否可以通过使用第二个变量为变量赋值?

时间:2013-02-09 16:30:36

标签: javascript variables

我想通过另一个变量将值设置为变量,该变量将引用第一个变量。 见下面的例子。

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

非常感谢。

3 个答案:

答案 0 :(得分:0)

JS中没有真正的pass-by-reference。但是,我想出了这个技巧(对象是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

答案 1 :(得分:0)

javascript中没有像&black&white这样的参考变量你可以说

var color = white;

并且警报将显示2 15

你的其他陈述永远不会被执行。

答案 2 :(得分:0)

在JS中,仅通过引用传递给对象。原始值通过引用传递。 JS中没有任何功能可以直接代替C指针。