初学者JavaScript for循环

时间:2018-02-27 03:52:07

标签: javascript for-loop

我想知道在第二行你是否还有i ++时,是否有人知道第四行[i-1]的原因?感谢您的任何帮助! (它来自书" JavaScript"来自Vodnik和Gosselin。)

if (figureCount === 3) {

for (var i = 1; i < 4; i++) {
filename = "images/IMG_0" + photoOrder[i] + "sm.jpg";
currentFig = document.getElementsByTagName("img")[i - 1];
currentFig.src = filename;
}//end of for loop

3 个答案:

答案 0 :(得分:2)

因为document.getElementsByTagName返回HTMLCollection(类似于数组)因此。因此,访问页面上的第一个(和后续)img标记是通过设置i-1

来完成的

答案 1 :(得分:1)

document.getElementsByTagName返回一个HTMLCollection,它不是一个数组,而是一个像object这样的数组。因此,要访问该集合中的任何元素,您可以传递索引。

document.getElementsByTagName("img")[i - 1]正在创建所有img标签的集合&amp;它通过传递索引[i-1]

来访问该集合中的特定元素

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

&#13;
&#13;
var getAllDiv = document.getElementsByTagName('div');
console.log(getAllDiv[1].innerHTML)
&#13;
<div>1</div>
<div>2</div>
&#13;
&#13;
&#13;

答案 2 :(得分:0)

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

for (var i = 0; i < 3; i++) {

他们决定在混合中加入一些额外的处理(这不是什么大不了的事)但是我会以更少的价格解雇开发人员。

CurrentFig正在使用i - 1,因为它看起来有一个预先添加的img元素,因此开发人员也选择了它,而不是选择他需要的确切元素。