Поскольку проблема с третьим параметром optonal в IE и использование замыканий не позволяет нам изменять переменные (например, в цикле) и все еще достигая желаемого результата, я предлагаю следующее решение.
Мы можем попытаться использовать рекурсию следующим образом:
var i = 0;
var hellos = ["Hello World1!", "Hello World2!", "Hello World3!", "Hello World4!", "Hello World5!"];
if(hellos.length > 0) timeout();
function timeout() {
document.write('<p>' + hellos[i] + '<p>');
i++;
if (i < hellos.length)
setTimeout(timeout, 500);
}
Нам нужно убедиться, что ничего не изменит эти переменные и мы напишем правильное условие рекурсии, чтобы избежать бесконечной рекурсии.