将varbales称为函数中传递的对象

时间:2013-03-17 22:50:31

标签: javascript

问题。 我需要创建一个名为

的全局函数
  

layerdiable(层);

在许多情况下,这个功能将像......

  

layerdiable(heatmap_tree);   layerdiable(heatmap_house);   layerdiable(heatmap_person);

以上各项都有相关的可变数据

  

var heatmap_tree = false;   var heatmap_house = false;

等等 我想做的基本上就是......

  

function distroylayer(layer){
  layer =!层;   }

(我希望像......那样真正地工作)。

  

function distroylayer(heatmap_tree){
  heatmap_tree!= heatmap_tree;   }

使heatmap_tree与其当前值相反...(应该是假的......)

2 个答案:

答案 0 :(得分:1)

你做不到。布尔值等基元按值传递,而不是通过引用传递。

但你不需要这个功能。您所需要的只是:

somevar = !somevar;

这将在{true}和false之间切换somevar

答案 1 :(得分:1)

您可以将全局变量称为window对象成员:

function disableLayer(layer) {
    window[layer] = !window[layer];
}

disableLayber('heatmap_tree');