循环的初学者JavaScript



我想知道当您在第二行中也有i 时,是否有人知道[i-1]的原因吗?感谢您的任何帮助!(来自Vodnik和Gosselin的《 JavaScript》一书。(

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

it,因为document.getElementsbytagname返回htmlcollection(类似于数组(。因此,通过设置i-1

,访问页面上的第一个(和后续(img标签

document.getElementsByTagName返回一个不是数组,而是像对象的数组。因此,要访问该集合的任何元素,您可以通过索引。

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

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

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

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

有些开发人员与for循环操作员的逻辑相混淆,而不是正确地进行:

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

他们决定在组合中添加一些额外的处理(这并不是那么大(,但是iv'e以更少的方式解雇了开发人员。

CurrentFig使用i -1,因为它似乎有一个预读的IMG元素,因此开发人员还选择选择它,而不是选择他需要的确切元素。

最新更新