Но не знаю правильно ли это? Можно ли так делать с фоном (не растягивать его)? Как быть короче?
[1, "2", {3: '3'}, [4], function five() {}]
setTimeout выполняется в последнюю очередь, когда браузеру нечего больше делать,Не верно.
Вам стоит почитать про event loop, микро и макро таски, чтобы понять в чём разница.