在下面的例子中,第一次应该打印 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);
我希望能够在外部更新变量,但循环需要能够检查变量的设置(可以是该对象中的任何值,并将在初始化时设置)。
我这样做是为了保持代码干净,而不必在每个循环中创建一个新变量来获取/存储最新值。
您可以获取对象引用并获取值的最后一个键。
var i = { control: { a: false, b: false } },
test = i.control;
setInterval(function () {
document.body.innerHTML += test.a + ', ';
i.control.a = true;
}, 500);
将其包装在函数中:
var test=function(){ return i.control['a'] };
...
document.body.innerHTML += test() + ', ';