Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在onclick函数上逐个显示数组增量_Javascript_Arrays - Fatal编程技术网

Javascript 在onclick函数上逐个显示数组增量

Javascript 在onclick函数上逐个显示数组增量,javascript,arrays,Javascript,Arrays,我试图一个接一个地打印数组元素。下面是我实现它的代码。代码的问题是,在第一次单击时,它并没有增加值,而它假设用数组的新+1元素替换旧数组元素 函数myFunction(){ var i=0; i++; var水果=[“香蕉”、“橙子”、“苹果”、“芒果”]; document.getElementById(“demo”).innerHTML=fruits[i]; } 试试看 您总是将i变量设置为0。将该变量置于myFunction范围之外,它就会工作 var i=0; var水果=[“香蕉

我试图一个接一个地打印数组元素。下面是我实现它的代码。代码的问题是,在第一次单击时,它并没有增加值,而它假设用数组的新+1元素替换旧数组元素

函数myFunction(){
var i=0;
i++;
var水果=[“香蕉”、“橙子”、“苹果”、“芒果”];
document.getElementById(“demo”).innerHTML=fruits[i];
}
试试看


您总是将
i
变量设置为0。将该变量置于
myFunction
范围之外,它就会工作

var i=0;
var水果=[“香蕉”、“橙子”、“苹果”、“芒果”];
函数myFunction(){
如果(i>=果长)i=0;
document.getElementById(“demo”).innerHTML=fruits[i];
i++;
}
试试看


更新了具有循环功能的代码

var i=0;
var水果=[“香蕉”、“橙子”、“苹果”、“芒果”];
函数myFunction(){
document.getElementById(“demo”).innerHTML=fruits[i];
i++;
如果(i==fruits.length){i=0;}
}
试试看

您甚至在访问数组的第一个值之前就在增加i。很好。已修复。您建议从作用域中删除
i
,以允许其增量,这是一种解决方案。但是,为什么还要在每次调用函数时创建一个新数组呢?为什么每次都需要dom查询?哦,还有,为什么不使用mod确保数组不会超出边界?只是,你知道,有点奇怪。我直接解决了这个问题,而不是试图重写原始代码(因为它可能已经简化了发布)。无论如何,我添加了一条关于其他可能的改变和改进的评论。@TravisJ我想作者想知道确切的答案。如果他不能理解范围,增加额外的东西对他来说会是一团糟