根据变量的值编辑不同的对象

Editing different objects based on the value of a variable

本文关键字:对象 编辑 变量      更新时间:2023-09-26

我正试图根据用户单击的按钮来更改不同的变量。例如,我有三个按钮:

<button id="button1" onclick="isClicked(this.id)">B1</button>
<button id="button2" onclick="isClicked(this.id)">B2</button>
<button id="button3" onclick="isClicked(this.id)">B3</button>

3个对象:

var button1 = { someValue: 0, otherValue: 5 };
var button2 = { someValue: 0, otherValue: 5 };
var button3 = { someValue: 0, otherValue: 5 };

点击按钮的ID被传递到JavaScript中,就像一样

function isClicked(clicked_id) {
    selectedID = (clicked_id);
}

我试图实现的是根据单击的按钮将一个值应用于变量——因此,如果单击button1,button1对象将更改,但如果单击button 2,button2对象将更改。

我已经研究过以编程方式设置变量名和通过附加ID参数以编程方式设定变量名,但我看不出它们在我的情况下会如何工作。

有有效的方法吗?

嵌套对象:

var buttons = {
    button1 : { someValue: 0, otherValue: 5 },
    button2 : { someValue: 0, otherValue: 5 },
    button3 : { someValue: 0, otherValue: 5 }
};

现在:

function isClicked(clicked_id) {
    var theClickedButtonObject = buttons[clicked_id];
    // do something
}