是否可以将变量组合在一起,以便当一个变量为真时其他变量返回false?
例如:我有三个变量,红色,绿色和蓝色。最初红色为true
,蓝色/绿色为false
,但当用户按空格键时,绿色变为true
。那时,我希望红色成为false
。如果用户要按Tab键,则蓝色将变为true
,红色/绿色将变为false
。
道歉,如果这是我应该能够使用Google找到的一个非常基本的问题。我试过偷窥,但我没有运气。任何有关如何处理此问题的帮助或想法都表示赞赏。
答案 0 :(得分:1)
根据您尝试完成的任务,您可以创建一个类似的对象,例如:
var color = (function() {
// set a default here
var state = { red: true, green: false, blue: false };
return {
toggle: function(color) {
Object.keys(state).forEach(function(k) {
state[k] = (k == color) ? true : false;
});
},
state: function() {
Object.keys(state).forEach(function(k) {
console.log("[color] %s: %o", k, state[k]);
});
}
}
})();
color.toggle('red');
color.state();
color.toggle('green');
color.state();
color.toggle('blue');
color.state();
答案 1 :(得分:0)
不,但根据您的目的,有不同的方法来近似它。
为什么不只有一个名为color
的变量或其他变量,并将其值设置为"red"
或"green"
或其他什么?如果您让用户从下拉列表或单选按钮中选择某些内容,这可能是最简单的方法。