如何在 javascript 中存储对变量的引用?

问题描述 投票:0回答:2

在下面的例子中,第一次应该打印 false,但之后应该改为 true。但它保持最初分配的值。

var i = {
  control: {
      a: false,
      b: false,
  }
}

var test = i.control['a'];

setInterval(function () {
  document.body.innerHTML += test + ', ';
  i.control['a'] = true;
}, 500);

我希望能够在外部更新变量,但循环需要能够检查变量的设置(可以是该对象中的任何值,并将在初始化时设置)。

我这样做是为了保持代码干净,而不必在每个循环中创建一个新变量来获取/存储最新值。

javascript loops object variables reference
2个回答
2
投票

您可以获取对象引用并获取值的最后一个键。

var i = { control: { a: false, b: false } },
    test = i.control;

setInterval(function () {
    document.body.innerHTML += test.a + ', ';
    i.control.a = true;
}, 500);


0
投票

将其包装在函数中:

var test=function(){ return i.control['a'] };

...

document.body.innerHTML += test() + ', ';
© www.soinside.com 2019 - 2024. All rights reserved.