коллекция работает, массив -- нет. 
Здесь  2 варианта на общих данных (картинки , стили)
Вопрос должен быть простой, т.к. есть рабочий вариант в виде :
Это работает:
<div id="myGallery">
<img src="1.jpg" />
<img src="2.jpg" />
<img src="3.jpg" />
</div>
А это не работает:
<div id="myGallery"></div>
<script src="js/list.js"></script>
<script src="js/show.js"></script>
 === внешние файлы ===
var str = [`<img src="1.jpg"/>`,
		`<img src="2.jpg"/>`,
		`<img src="3.jpg" />`]
function show() {
   var block = [];
   for (let i = 0; i < 3; i++) 
	   block.push(str[i]);
   document.getElementById('myGallery').innerHTML = block.join('');
}
window.addEventListener("load", () => { show() });
я понимаю, что это избитая тема, на форуме много вопросов по этим массивам. По этим вопроса и собрал . 
Но в каждом свои особенности. Хорошо бы еще объяснение, почему не работает.
Рабочий пример с голыми <img> прост до предела.  Он использует скрипты и получает результат. 
Но как только мы переходим в область JS, он сразу перестает понимать другие скрипты. Все разваливается.
Прикладываю пример
 SpaceGallery.zip  
space-work.html  -- работает.
index.html -- не работает.
В консоли ошибок нет . 
У них все общее, разные только .html ,  разница выше. 
Это простая галерея. Я уже не помню, откуда я выкопал этот пример. Он  простой. Есть еще такой же пример этой же галереи, но там добавляется 1 строка из jQuery. Это на крайний случай, 
Первый пример работает и без доп. строк.
Первый работает последовательно , все ОК.
Второй -- сборка массива, ему последовательность не подходит.
Расскажите, почему 
