JavaScript цикл и массив - PullRequest
       2

JavaScript цикл и массив

0 голосов
/ 19 сентября 2018

Я очень плохо знаком с JavaScript и пытаюсь пройтись по книге и выполнить упражнения.

Может кто-нибудь помочь мне объяснить, что происходит в этом цикле и что в конце хранится в массиве?

Я понимаю, что для image.src устанавливается значение "href"в HTML, но зачем нужна ссылка перед getAtribute?Где хранится «href» и «title»?

"use strict";
var $ = function (id) { return document.getElementById(id); };
var imageCache = [];

var i, link, image;
for ( i = 0; i < links.length; i++ ) {
    link = links[i];
    image = new Image();
    image.src = link.getAttribute("href");
    image.title = link.getAttribute("title");
    imageCache[imageCache.length] = image;
}

Заранее спасибо за помощь!Это сообщество было спасателем во время работы, хотя это.

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Как уже упоминалось в комментарии, вы не показали нам, как выглядит массив links.Однако, предполагая, что это массив ссылок на элементы DOM, вот пошаговое руководство этого кода:

"use strict";
var $ = function (id) { return document.getElementById(id); };
var imageCache = [];

var i, link, image;
//looping through every element of links array
for ( i = 0; i < links.length; i++ ) {
    link = links[i]; //this is the link we're at in the loop, making it easier to reference
    image = new Image(); //creating a new Image element
    image.src = link.getAttribute("href"); //set the src attribute of the image to the href of the link
    image.title = link.getAttribute("title"); //set the title of the image to the title of the link
    imageCache[imageCache.length] = image; //put the image in the imageCache array for use later
}

При этом, я думаю, вы могли бы рассмотреть Array.map() как альтернативный способпреобразовать один массив ссылок в другой массив изображений.

0 голосов
/ 19 сентября 2018

но зачем нужна ссылка перед getAtribute

Если вы google getAttribute , вы можете видеть, что это метод, вызываемый для элемента HTML.Таким образом, links представляется массивом элементов HTML (возможно, элементов ссылок).

Где хранится "href" и "title"?

Хранит их как свойства этого объекта: image = new Image().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...