Сценарий, который вы здесь дали, действительно что-то записывает, а именно "0".document.write()
будет добавлять содержимое в документ, только если он вызывается во время загрузки страницы.Если вы позвоните ему после завершения загрузки страницы, он заменит текущий документ содержимым, которое вы ему предоставили (подразумевается вызов document.open()
).И с отсутствующим текущим документом все его тайм-ауты также ушли.Таким образом, только один тайм-аут получает шанс на запуск (тот, который записывает 0
), он заменяет документ, а все остальные тайм-ауты отменяются.
В Chrome замена текущего документа с помощью document.open()
неубить существующие тайм-ауты, они просто работают с новым документом - это может быть ошибкой, по крайней мере, это несовместимо со всеми другими браузерами.Однако я не уверен, что какой-либо из существующих стандартов четко описывает необходимость отмены тайм-аутов в этом случае.