0

Нужно чтобы перед выполнением консоль лог делалась пауза в 1 секунду, вот пара примеров кода и ни один не работает:

var last = "gdfhdjgh";
function lastinjs(last) {
    for (i=0; i < last.length; i++) {
        var intervall = setInterval;
        setInterval(console.log(last[i]), 1000);
        if (i >= 0) {
            clearInterval(intervall)
        }
    }
}
setTimeout('lastinjs(last)', 1000);

а это второй

var last = "gdfhdjgh";
function lastinjs(last) {
    for (i=0; i < last.length; i++) {
        setTimeout(console.log(last[i]), 1000);
    }
}
setTimeout('lastinjs(last)', 1000);
  • Код не работает совсем или работает, но не так как нужно? – ThisMan Jan 26 '17 at 06:45
  • работает не так как нужно. Необходимо через определённый интервал времени выводить по одному символу строки, а функция выводит всё сразу – Никита Jan 26 '17 at 09:39

1 Answers1

0

Оберните console.log в функцию:

setInterval(function(){console.log(last[i])}, 1000);

или текстом, как вы уже делали:

setInterval("console.log(last[i])", 1000);

Однако, использование строк не рекомендуется, так как они могут вызвать проблемы при минимизации кода, и, вообще, сама возможность использовать строку сохраняется лишь для совместимости.

Здесь тоже не верно:

var intervall = setInterval;
setInterval(console.log(last[i]), 1000);

нужно получить id нового интервала:

var intervall =  setInterval(console.log(last[i]), 1000);
Crantisz
  • 9,730
  • 2
  • 17
  • 49