У меня есть простая функция JavaScript, которая выглядит следующим образом:Почему этот простой скрипт никогда не заканчивается?
countDown();
function countDown() {
var count = 10;
document.write(count);
if (count > 0) {
count = count-1;;
setTimeout(countDown, 1000);
}
}
Почему в переменной count
не изменится? Эта функция никогда не заканчивается. , ,
Каждый раз, когда вы вызываете 'countDown', вы пересылаете значение count. Попробуйте помещать 'var count' вне функции, чтобы она была в глобальном масштабе. Счет –
будет сбрасываться до 10 рекурсий. – Mathias
Не используйте 'document.write'. Специально после того, как документ завершил загрузку. См. Предупреждение в [spec] (http://www.w3.org/TR/html5/webappapis.html#document.write%28%29). – Oriol