Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Duda] reto cambiar de color con click derecho

Buenos dias, tengo una consulta que me salto al hacer este ejercicio y me hizo replantear una duda.

Cuando creamos una funcion muchas veces le pasamos parametros para que trabaje con esos parametros y en otras ocaciones no le pasamos porque no se usan. Ejemplo de function sin parametro function saludaPorConsolar(){ console.log("Hola"); }

En este ejercicio de cambiar el puntero de color, las 2 funciones no reciben parametros pero usan variables que estan fuera de la funcion, eso seria correcto ? pense q no se podia. Ejemplo:

// en esta funcion incrementa el indiceColor que fue creado fuera de la funcion y lo modifica. // pense q no se podia acceder a variables fuera de la funcion si no los recibia por parametro. //estoy algo confundido con esa ida ahora me confunde cuando pasar parametros y cuando no. function cambiarColor(){ indiceColor++; if(indiceColor>=colores.length){ indiceColor=0; } return false; }

// en esta funcion le paso la variable evento para que la reconosca pero no le paso el array colores[] por parametro.

function dibujarCirculo(evento){
    var x=evento.pageX-pantalla.offsetLeft;
    var y=evento.pageY-pantalla.offsetTop;
    pincel.fillStyle=colores[indiceColor];
    pincel.beginPath();
    pincel.arc(x,y,10,0,2*3.14);
    pincel.fill();
}
1 respuesta
solución!

Buen día, en JavaScript, las funciones pueden acceder a variables que se encuentran fuera de su ámbito, incluso si no se pasan como parámetros. Sin embargo, es importante considerar la legibilidad y mantenibilidad del código al acceder a variables externas directamente desde las funciones. En general, se recomienda pasar parámetros a las funciones en lugar de acceder a variables externas directamente, a menos que haya una razón específica para hacerlo de otra manera.

Si te sirve esta solución , marcalo con (✓)