Bienvenido a la Comunidad de Treehouse
¿Quieres colaborar en errores de código? ¿Tienes errores que necesitan comentarios? ¿Buscas un par de ojos adicionales en tu último proyecto? aquí.
¿Buscas aprender algo nuevo?
Treehouse ofrece una prueba gratuita de siete días para estudiantes nuevos. Obtén acceso a miles de horas de contenido y únete a miles de
Inicia tu prueba gratuita
Dominick Chism
8,857 puntosAtascado...
Cualquier ayuda con esto sería apreciada. En la explicación de Guil entiendo casi todo, excepto cómo const randomValue = () => Math.floor(Math.random() * 256) está vinculado a const color = `rgb( ${value()}, ${value()}, ${value()} )`; al generar el número aleatorio. He leído las preguntas de otras personas en este video, pero no he tenido suerte en comprender. Gracias de antemano.
let html = '';
const randomValue = () => Math.floor(Math.aleatorio() * 256)
función valores randomRGB(valor) {
const color = `rgb( ${value()}, ${value()}, ${value()} )`;
return color;
}
para ( let i = 1; i<= 10; i++ ) {
html += `<div style="background-color: ${valores randomRGB(randomValue)}">${i}</div>`;
}
documento.querySelector('main').innerHTML = html;
2 Respuestas
Steven Parker
244 163 puntosfunción valores randomRGB(valor) { // <-- el argumento para "value" ...
const color = `rgb( ${valor()}, ${valor()}, ${valor()} )`; // <-- ...se llama aquí
Dado que "value" es el parámetro, cualquier argumento que se proporcione a "randomRGB" se llamará 3 veces para crear "color".
html += `<div style="background-color: ${valores randomRGB(randomValue)}">${i}</div>`;
// ^^^^^^^^^^^
Ahora, como "randomValue" se pasa como argumento, es lo que se llama dentro de "randomRGB". Tenga en cuenta que la referencia a "randomValue" se está pasando sin que se haya llamado aún. ¿Tiene sentido ahora?
Dominick Chism
8,857 puntosDespués de leer tu explicación y revisar el video de Guil Parámetros de función y argumentos, ahora entiendo. ¡Muchas gracias por la ayuda!
Dominick Chism
8,857 puntosDominick Chism
8,857 puntosMe frustra decir que todavía no entiendo. En otra explicación dijiste: "El
randomValuela función no se llama hasta el punto donde vesvalue()en la otra función." No sé por qué no puedo entender el concepto.¿Hay otra forma en que puedas explicar cómo se llama esto y tal vez simplificarlo? Disculpa las molestias y gracias de antemano.
Steven Parker
244 163 puntosSteven Parker
244 163 puntos¿Te sientes cómodo con el concepto de parámetros tal como se usan en las funciones? Recuerda que solo actúan como marcadores de posición para los argumentos que se pasarán cuando se llame a la función.
Entonces, cuando se define la función randomRGB, "value" es solo un marcador de posición, pero cuando se llama a la función en el bucle usando
randomRGB(randomValue)eso significa que "randomValue" reemplazará "value" en la función.Entonces, lo que la función realmente hace en ese punto es esto:
return `rgb( ${randomValue()}, ${randomValue()}, ${randomValue()} )`;