Im пытается получить эту функцию для печати 4 разных флагов. Это не дает мне и сообщения об ошибках, когда я запускаю его больше, но он также не печатает мои флаги. И теперь у меня не хватало идей, чтобы попытаться реально помочь.Javascript: функция возвращает неожиданный результат
(function() {
'use strict';
function draw() {
for (var draw = 0; draw < v.length; draw++) flagTarget.init()
}
var flagTargetElfenbenskusten =document.getElementById('flag-elfenbenskusten');
var flagTargetSverige =document.getElementById('flag-sverige');
var flagTargetMaruritius =document.getElementById('flag-maruritius');
var flagTargetJapan =document.getElementById('flag-japan');
var flagTarget = {
init: function() {
if (flagTargetElfenbenskusten) {
var flagElfenbenskusten = '<div class="flag elfenbenskusten"><div class="part1"></div><div class="part2"></div></div>';
console.log('drawing flag elfenbenskusten'),
flagTargetElfenbenskusten.innerHTML = flagElfenbenskusten;
}
if (flagTargetSverige) {
var flagSverige = '<div class="flagga1 sverige"><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div></div>';
console.log('drawing flag Sverige'),
flagTargetSverige.innerHTML = flagSverige;
}
if (flagTargetMaruritius) {
var flagMaruritius = '<div class="flagga2 maruritius"><div class="box1"></div><div class="box2"></div><div class="box3"></div><div class="box4"></div><div class="box5"></div></div>';
console.log('drawing flag Maruritius'),
flagTargetMaruritius.innerHTML = flagMaruritius;
}
if (flagTargetJapan) {
var flagJapan = '<div class="flagga3 japan"><div class="box1"></div><div class="cirkel1"></div></div>';
console.log('drawing flag japan'),
flagTargetJapan.innerHTML = flagJapan;
}
}
},
flagTargetElfenbenskusten = Object.create(flagTarget),
flagTargetSverige = Object.create(flagTarget),
flagTargetMaruritius = Object.create(flagTarget),
flagTargetJapan = Object.create(flagTarget),
v = [
flagTargetElfenbenskusten,
flagTargetSverige,
flagTargetMaruritius,
flagTargetJapan,
];
draw(),
console.log('Sandbox is ready!')
}());
Это мой результат в консоли. Я не понимаю, почему он работает 4 раза.
drawing flag elfenbenskusten
drawing flag Sverige
drawing flag Maruritius
drawing flag japan
drawing flag elfenbenskusten
drawing flag Sverige
drawing flag Maruritius
drawing flag japan
drawing flag elfenbenskusten
drawing flag Sverige
drawing flag Maruritius
drawing flag japan
drawing flag elfenbenskusten
drawing flag Sverige
drawing flag Maruritius
drawing flag japan
Sandbox is ready!
Любая помощь приветствуется!
Имя функции и имя переменной то же самое. Поговорите о запутывании, чтобы читать. – epascarello
Ну, вы вызываете init() в цикле for, поэтому я предполагаю, что у вас есть вещи в 'v' – epascarello
Что дает' console.log (flagTargetJapan) 'дать вам, поместив его сразу после' var flagTargetJapan = ... '? – bloodyKnuckles