Javascript 动态变量名语法

Javascript 动态变量名语法,javascript,jquery,Javascript,Jquery,另一个让我陷入困境的新手问题 我有三个变量 var state1 var state2 var state3 我需要在.click事件上访问其中一个,具体取决于单击对象的属性 如何访问正确的变量?基本上,我需要通过将“state”和正确的数字加在一起来定义变量名 我会很快用一些代码更新这篇文章,以备需要 var backstate1; var backstate2; var backstate3; var currentFrame; function hotspotHover(){ var

另一个让我陷入困境的新手问题

我有三个变量

var state1
var state2
var state3
我需要在.click事件上访问其中一个,具体取决于单击对象的属性

如何访问正确的变量?基本上,我需要通过将“state”和正确的数字加在一起来定义变量名

我会很快用一些代码更新这篇文章,以备需要

var backstate1;
var backstate2;
var backstate3;
var currentFrame;

function hotspotHover(){
var currentElement = this;
var daName =this.name;
$("#hotspot" +daName).hover(

    function() { 
    $("img.changeOutline").prop("src", currentElement.outlinesArray[currentFrame]);
    $("#outlines").show(); 
    }, 
    function() { 
    $("#outlines").hide(); 
    }
).click(function() {
    var backstateLevelNumber = currentElement.backStateLevel; //not working
    window['backstate'+ backstateLevelNumber]=currentFrame; //trying to set backstate+number to current frame variable
    hoverClick(currentElement.defaultFrame);
    checkReverse();
    checkSeqLoop();
});

};

将状态添加为数组:

var states = [ 'state1', 'state2'];
var stateNumber = 0;
var state = states[stateNumber];

使用阵列可以解决您的问题:

var states = [null, null, null];
然后访问它们将是:(假设
currentStateId
是当前状态号)

和设置:

states[currentStateId] = "State"; //Set State

它们在哪里申报?尝试访问它们的代码是什么?我会使用一个数组:
var state=[state1,state2,state3]
并通过
state[number]
访问它们。如果重新声明,这可能是一个正确的答案。对此表示抱歉。试图重述答案。我似乎仍然不明白的是,我该如何为state1或state2声明一个值?我基本上是这样做的:如果单击的对象的statelevel==1,那么将state1的值修改为currentFrame
states[currentStateId] = "State"; //Set State