Como posso usar setInterval ou setTimeout e exibir os resultados durante a contagem?

Eu estou tentando fazer um temporizador contar de 5 segundos para zero antes de uma função ser chamada, e posso fazer isso com sucesso, mas ainda não consegui exibir o valor do temporizador enquanto ele faz a contagem regressiva. Em vez de exibir os valores, o<div></div> vai de um espaço em branco para "Número: 0". Eu usei os doissetTimeout esetInterval com o mesmo resultado.

<script type="text/javascript">
    for (i = 5; i > 0; i--) {
        function countDown() {
            setInterval(function () {
                document.getElementById("displayDiv").innerHTML = "Number: " + i;
            }, 1000);
        }
    }
</script>

Eu também tentei usar.value no lugar de.innerHTML sem ajuda.

<input type="button" value="Count" onclick="countDown()" />

<div id="displayDiv" />

Isso parece que deve ser muito simples, mas me deixou perplexo. Qualquer ajuda é apreciada

questionAnswers(2)

yourAnswerToTheQuestion