我需要将其中的“第一步”,“第二步”,“第三步”等中的一个变量的值检索数量和操纵它
那么我想从数该变量例如。从“step1”得到“1”,从1得到“1”。
所以如果值是step1,我会得到另一个变量,其值为step2。
var currentStep = step1;
VAR NEXTSTEP = .....
谢谢!
我需要将其中的“第一步”,“第二步”,“第三步”等中的一个变量的值检索数量和操纵它
那么我想从数该变量例如。从“step1”得到“1”,从1得到“1”。
所以如果值是step1,我会得到另一个变量,其值为step2。
var currentStep = step1;
VAR NEXTSTEP = .....
谢谢!
如果你对增加数字的变量有要求,那么考虑使用数组将会更直接。
arrSteps = [1,3,5];
要通过阵列迭代可以使用循环
for(i=0; i < arrSteps.length; i++)
alert(arrSteps[i]);
还可以使一对阵列的每个步骤,以一个号码相匹配。
var stepToNum = {'step1':1, 'step2':2, 'step3':3, ...}
var numToStep = ['step1','step2','step3', ...],
var currStep = 'step1';
var newStep = numToStep[(stepToNum[currStep]+1)];
从我的理解,你想采取一个变量名和操纵它,仿佛它是一个字符串,并调用其名称是新修改的字符串值的变量的值。
如果是这样,我心里有两件事情:
如果这些变量(step1
,step2
等)是全局变量,可以调用window[variableName]
得到他们的价值观。在你的情况下,window['step1']
应该返回变量step1
的值,并且你可以使用jQuery字符串函数来修改键值。例如,
var currentStep = 'step1';
var nextStep = 'step' + (parseInt(currentStep.substr(4))); //nextStep = 'step2'
console.log(window[currentStep]) //prints 'value of step1'
console.log(window[nextStep]) //prints 'value of step2'
如果这些都不是全局变量,你应该使用一个对象,像这样:
var steps = {
step1: "value of step1",
step2: "value of step2",
step3: "value of step3"
};
,并用同样的方法为1号(除window[currentStep]
将steps[currentStep]
给他们打电话。或者你可以使用数组像@阿迪尔的回答是:
var steps = ["value of step1", "value of step2", "value of step3"]
总而言之,您最初想到的并不是良好的编码习惯,但您可以使用像这样的解决方法来帮助您实现目标。
要么这或使它们属性的对象。从这个问题我们可以看出,一个数组也是我想要的。 –
不是我正在寻找的,我想要做的只是获取变量add 1的字符,然后创建另一个具有“step”+“newvalue”的变量。 – user1937021