<canvas width="600" height="400"></canvas>
<script>
function desenhaCirculo (x, y, raio) {
pincel.fillStyle = "orange";
pincel.beginPath();
pincel.arc(x, y, raio, 0, 2 * Math.PI);
pincel.fill();
}
function limpaTela(){
pincel.clearRect(0, 0, 600, 400);
}
function atualizaTela () {
limpaTela();
if (r > 30) {
incrementa = -1;
}else if (r < 20) {
incrementa = 1;
}
desenhaCirculo(35,35,r);
r = r + incrementa;
}
//---------------------------------------------
var tela = document.querySelector("canvas");
var pincel = tela.getContext("2d");
pincel.fillStyle = "lightgray";
pincel.fillRect(0, 0, 600, 400);
var r = 20;
var incrementa = 1;
// Qtd de intervalo de tempo para a chamada da função!
// Vai chamar a função a cada 20 milesegndos!
setInterval(atualizaTela, 20);
// Quando queremos passar uma função como parâmetro para outra, precisamos omitir seu ().
</script>