Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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_Javascript_For Loop - Fatal编程技术网

用于循环的初学者JavaScript

用于循环的初学者JavaScript,javascript,for-loop,Javascript,For Loop,我想知道当第二行还有I++时,是否有人知道第四行中[I-1]的原因?谢谢你的帮助!(来自沃德尼克和戈塞林的《JavaScript》一书。) if(figureCount==3){ 对于(变量i=1;i

我想知道当第二行还有I++时,是否有人知道第四行中[I-1]的原因?谢谢你的帮助!(来自沃德尼克和戈塞林的《JavaScript》一书。)

if(figureCount==3){
对于(变量i=1;i<4;i++){
filename=“images/IMG_0”+photoOrder[i]+“sm.jpg”;
currentFig=document.getElementsByTagName(“img”)[i-1];
currentFig.src=文件名;
}//循环结束

一些开发人员对for循环运算符逻辑感到困惑,而不是正确执行它:

for (var i = 0; i < 3; i++) {
for(变量i=0;i<3;i++){
他们决定在混合中增加一些额外的处理(这不是什么大不了的事),但iv'e以更少的代价解雇了开发人员


CurrentFig使用i-1是因为它似乎有一个预先设置好的img元素,所以开发人员也选择了它,而不是选择他所需要的确切元素。

一些开发人员没有正确地执行for循环运算符逻辑,反而对它感到困惑:

for (var i = 0; i < 3; i++) {
for(变量i=0;i<3;i++){
他们决定在混合中增加一些额外的处理(这不是什么大不了的事),但iv'e以更少的代价解雇了开发人员


CurrentFig使用i-1是因为它似乎有一个预先指定的img元素,所以开发人员也选择了它,而不是选择他所需要的确切元素。

它因为返回了一个(类似于数组)。所以访问第一个(和后续的)页面上的
img
标记是通过设置
i-1

来完成的,因为它会返回一个(类似于数组)。因此,访问第一个(以及随后的)页面上的
img
标记是通过设置
i-1

文档完成的。getElementsByTagName
返回一个HTMLCollection,它不是数组,而是类似数组的对象。因此,要访问该集合中的任何元素,都可以传递索引


document.getElementsByTagName(“img”)[i-1]
正在创建所有img标记的集合&它通过传递索引
[i-1]
来访问该集合中的特定元素

在下面的示例中,
[1]
正在尝试访问集合中的第二个元素

var getAllDiv=document.getElementsByTagName('div'); console.log(getAllDiv[1].innerHTML)
1

2
文档。getElementsByTagName
返回一个HTMLCollection,它不是数组,而是类似数组的对象。因此,要访问该集合中的任何元素,可以传递索引


document.getElementsByTagName(“img”)[i-1]
正在创建所有img标记的集合&它通过传递索引
[i-1]
来访问该集合中的特定元素

在下面的示例中,
[1]
正在尝试访问集合中的第二个元素

var getAllDiv=document.getElementsByTagName('div'); console.log(getAllDiv[1].innerHTML)
1

2
虽然我同意从
I
开始的
0
在这种情况下更有用,但请您稍微解释一下为什么会出现这种情况?以及为什么在
currentFig
中需要减法?这将真正有助于提高您的回答质量:)而我同意从
0
i
在这种情况下更有用,请您稍微解释一下为什么会出现这种情况?以及为什么在
currentFig
中需要减法?这将真正有助于提高您的答案质量:)