JS按功能增加索引号数组

时间:2017-07-10 00:22:12

标签: javascript arrays

我试图制作一个基于小文本的RPG游戏,但是我遇到了js中的数组然后我遇到了问题,我没有通过使用i而不是0来增加索引号,如myArray[i]

我做了一个jsfiddle所以你们可以看到我的意思。

jsfiddle

当你按下按钮直到你变暖,它应该将i增加到2,但它不会,但仍然伴随着变暖并增加攻击变量。

2 个答案:

答案 0 :(得分:1)

这是您的.tar.gz功能:

attackUp

请注意,您的function attackUp(){ var i = 0; var attackCost = xpforlevel[i]; if (attackCost < attackxp) { alert("WARMING!"); attack++; document.getElementById('attack').innerHTML = attack; i++; document.getElementById('i').innerHTML = i; } } 语句确实没有意义(因为每次调用var i = 0时,attackUp都会在开始时重置为i。要解决此问题,请从函数中删除此= 0语句并放入JS代码的开头:

var i = 0

此外,您的功能只会更新var i = 0; var attackxp = 0; var attack = 1; ,如果 i,否则它将不会更改任何内容。您需要将attackCost < attackxp语句放在if块之外,如下所示:

i++;

答案 1 :(得分:0)

由于您的i是本地变量,因此每次调用attackUp()时它都会启动为0。你应该把它放在attackxp和攻击之外。

有关JavaScript中变量范围的详细信息,请参阅w3schoolsthis question