动态变量名称语法
另一个让我陷入困境的新手问题。
我有三个变量
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 = [null, null, null];
然后访问它们:(假设currentStateId
是当前状态号)
var currentState = state[currentStateId] //Access state
并设置:
states[currentStateId] = "State"; //Set State
将状态添加为数组:
var states = [ 'state1', 'state2']; var stateNumber = 0; var state = states[stateNumber];