A variável que deve guardar os valores de gastos estava dentro do comando while, e dessa forma, a cada passada pelo while, ela tornava a ZERAR não acumulando nada. Essa variável deve ser implementada fora do comando while.Porém, essa variável não pode ser colocada depois do while, isto é, após o fechamento o bloco de instrução do comando, pois o programa entra em looping porque não entende o limite de eventos e não encerra o comando de entrada de valores dos gastos. Ela deve ser implementada ANTES do comando while para que possa ir somando os valores dos gastos a cada volta até o limite de eventos realizados e possibilitar o cálculo da média dos gastos.
<meta charset="UTF-8">
<script>
function pulaLinha() {
document.write("<br>");
}
function mostra(frase) {
document.write(frase);
pulaLinha();
}
var totalDeEventos = parseInt(prompt("Informe o total de eventos"));
var contador = 1;
var totalGastoComEventos = 0; // variável retirada de dentro do comando while e colocada antes dele.
while(contador <= totalDeEventos) {
var gasto = parseFloat(prompt("Informe total gasto com evento"));
totalGastoComEventos = totalGastoComEventos + gasto;
contador++;
}
var media = totalGastoComEventos / totalDeEventos;
mostra("A média de gastos é " + media);
</script>