Что случилось с этим кодом:Почему он не выводит сразу все элементы массива?
var images = [];
function getImages() {
var st = true;
var i = 1;
var url;
var ob;
while(st) {
if(i < 10) {
url = "http://rachel-b.org/gallery/albums/Events/2012/May%2008%20-%20Rachel%20Bilson%20Celebrates%20Edie%20Rose%20Home%20Collection/thumb_00" + i + ".jpg";
ob = new Image();
ob.src = url;
st = checkIfImageExists(ob);
images.push(ob);
}
if(i >= 10 && i < 100) {
url = "http://rachel-b.org/gallery/albums/Events/2012/May%2008%20-%20Rachel%20Bilson%20Celebrates%20Edie%20Rose%20Home%20Collection/thumb_0" + i + ".jpg";
ob = new Image();
ob.src = url;
st = checkIfImageExists(ob);
images.push(ob);
}
if(i >= 100) {
url = "http://rachel-b.org/gallery/albums/Events/2012/May%2008%20-%20Rachel%20Bilson%20Celebrates%20Edie%20Rose%20Home%20Collection/thumb_" + i + ".jpg";
ob = new Image();
ob.src = url;
st = checkIfImageExists(ob);
images.push(ob);
}
i++;
}
}
function checkIfImageExists(o) {
var e = document.createElement("img");
e.style.display = "none";
document.getElementsByTagName("body")[0].appendChild(e);
e.src = o.src;
var res = e.width;
document.getElementsByTagName("body")[0].removeChild(e);
console.log(res);
if(res === 0) {
return false;
} else {
return true;
}
}
getImages();
function outPut() {
for(var i = 0; i < images.length; i++) {
console.log(images[i]);
}
}
outPut();
Почему не это вывести все элементы массива на один раз? В то же время, каждый раз, когда я нажимаю кнопку запуска, он выводит элементы массива n + 1. Как так?
Ваш код трудно читать: что означает '' '? строка? Почему бы не назвать его «url»? 'CheckSt()'? Похоже, он проверяет, не является ли URL-адрес изображения не 404. Я предлагаю вызвать функцию 'checkIfImageExists'. Попробуйте переименовать все переменные, чтобы люди могли читать ваш код и помогать вам. Дополнительно: Каков ваш ожидаемый результат и ваш фактический результат? Я вижу фактический результат в вашем jsfiddle, но не ожидаемый результат. – yankee
@yankee В результате я бы хотел увидеть все 106 элементов в console.but, я вижу гораздо меньше (( – DrStrangeLove