Olá, estava realizando um exercício com canvas e me deparei com a seguinte dúvida no meu código com relação a chamada de funções pelo JavaScript.
<meta charset="utf-8" />
<canvas width="600px" height="400px" id="tela"></canvas>
<script>
var tela = document.getElementById("tela");
var c = tela.getContext("2d");
c.fillStyle = "Blue";
c.fillRect(0, 0, 600, 400);
function limpaTela() {
c.clearRect(0, 0, 600, 400);
}
function desenhaCirculo(x, y, cor) {
limpaTela();
c.fillStyle = cor;
c.beginPath();
c.arc(x, y, 15, 0, (2 * Math.PI));
c.fill();
}
var x = 1;
function desenha() {
desenhaCirculo(x, 100, "blue");
x = x + 1;
}
setInterval(desenha, 30);
</script>
Quando eu chamo uma função o método mais tradicional: desenha(), por exemplo ela funciona perfeitamente. Agora quando eu vou fazer a chamada da função dentro de outra função do JavaScript ela não aceita a passagem de parâmetros. Ex:. setInterval(desenha(200, 400), 30); não funciona. Eu tenho que chamar a função da forma acima para que a função seja executada, sem poder passar nenhum valor como parâmetro. Porque isso acontece? É padrão da linguagem?