Javascript JS按函数增加索引数数组

Javascript JS按函数增加索引数数组,javascript,arrays,Javascript,Arrays,我试图制作一个基于文本的小型rpg游戏,但我在js中遇到了数组,然后遇到了问题,我无法通过使用I而不是像myArray[I]那样使用0来增加索引数 我做了一个jsfiddle让你们明白我的意思 当您按下按钮直到得到一个加温时,它应该将i增加到2,但它没有增加,但仍然伴随着加温和增加攻击变量。由于您的i是一个局部变量,因此每次调用attackUp时,它都以0启动。你应该把它放在攻击XP和攻击之外 有关JavaScript中变量范围的更多信息,请参阅或。这是您的攻击函数: function atta

我试图制作一个基于文本的小型rpg游戏,但我在js中遇到了数组,然后遇到了问题,我无法通过使用I而不是像myArray[I]那样使用0来增加索引数

我做了一个jsfiddle让你们明白我的意思


当您按下按钮直到得到一个加温时,它应该将i增加到2,但它没有增加,但仍然伴随着加温和增加攻击变量。

由于您的i是一个局部变量,因此每次调用attackUp时,它都以0启动。你应该把它放在攻击XP和攻击之外

有关JavaScript中变量范围的更多信息,请参阅或。

这是您的攻击函数:

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;
    }
}
此外,如果attackCost
function attackUp(){
    //erase this line: var i = 0;
    var attackCost = xpforlevel[i];
    i++; //added this line
    if (attackCost < attackxp) {
        alert("WARMING!");
        attack++;                           
          document.getElementById('attack').innerHTML = attack;
        //erase this line: i++;
        document.getElementById('i').innerHTML = i;
    }
}

我不完全理解你想要什么,但是你的attackUp函数没有var I=0;每次我点击需要升级的xp时,我想将xpforlevel[I]增加1。欢迎使用Stackoverflow。你的代码真的应该发布在这里。有一些工具可以让您生成代码片段,这些代码片段通常具有足够的功能,因此您根本不需要像jsfiddle这样的非现场服务,尽管jsfiddle链接也可以。但是,在这里的问题本身中,代码至少应该作为静态代码发布。
function attackUp(){
    //erase this line: var i = 0;
    var attackCost = xpforlevel[i];
    i++; //added this line
    if (attackCost < attackxp) {
        alert("WARMING!");
        attack++;                           
          document.getElementById('attack').innerHTML = attack;
        //erase this line: i++;
        document.getElementById('i').innerHTML = i;
    }
}