Estamos de regreso con nuestro programa que usa una función para dibujar a "Winston" cuatro veces. Y la he cambiado para mostrar en realidad de qué edad es en cada etapa de su vida, y pronto verás por qué. Pero primero necesito decirles algunas cosas sobre "Winston": "Winston" tiene una adicción a las donas. Se come tres al día. Probablemente por eso es que tiene esa cara tan grande y amarilla. Así que para advertir a "Winston" sobre lo malo que son las donas para él, quiero modificar este programa para mostrar cuantas donas en total se ha comido en cada etapa de su vida. Por ejemplo, cuando él tenía dos años de edad, eso significa que se había comido 3 por 365 por 2, tres por día, por 365 días por 2 años. Y sólo tendremos que mostrarlo debajo de ese encabezado, ¡wow! Dos mil donas, esas son muchas donas para un niño de dos años. Ahora, cuando tenía 14 años, déjenme ver, se había comido 3 por 365 por 14, y esas son 15,000 donas. Muy bien. Entonces podría continuar haciendo estos cálculos, pero empiezo a darme cuenta de que hay un patrón. Estoy repitiendo mis cálculos aquí, y sólo estoy cambiando una cosa: el número de años. Cuando veo que un código se repite como éste, Pienso: "Mmm, ¿podré hacer una función con esto?". Sí, definitivamente, podemos. Así que hagámoslo. Voy a definir mi función aquí arriba y llamarla "calcTotalDonuts = function" Y va a necesitar un parámetro, el número de años, porque ésta es la única cosa que estamos cambiando cada vez que hacemos este cálculo. Y luego, dentro, haremos el cálculo, y lo salvaremos en una variable, así que será 3 por 365 por "numYears" (número de años). Muy bien, entonces ahora que tenemos esa función, voy a reemplazar esta expresión aquí con "calcTotalDonuts", la llamada a la función, y voy a pasar el parámetro "2". Ok, bueno ahora no vemos ningún total. Mmm, ok, ¿qué pasó? Bueno, nuestra función hizo el cálculo del total, aquí, pero no le dijo a nadie sobre ese total. Es como si un maestro te hiciera una pregunta en clase, y tú la contestas en tu mente pero eres muy tímido para decir la respuesta. Has hecho el trabajo, pero tu maestra nunca lo va a saber. Si queremos que una función comunique un valor cada que es llamada, la función tiene que regresar el valor explícitamente. Así que para que una función regrese el valor necesitamos teclear "Return", y lo que debe regresar. Puede ser una variable, un valor o una expresión, así que aquí diremos: "return totalDonuts", ¿está bien? Entonces quien llamó la función tendrá esta respuesta. ¡Y ahora podemos ver nuestro resultado! Y en realidad podemos acortar nuestra función, no tenemos que almacenar todo esto en una variable, podemos tomar esta expresión que tenemos aquí y ponerla en el "return", y entonces la tenemos en una sola línea. Genial. Muy bien, ahora podemos avanzar y calcular el total de donas en cada etapa de la vida sólo llamando esta función y pasándole el número de años. Déjenme ver, es "calcTotalDonuts(25)", la posición es correcta, "calcTotalDonuts(65)", ¡Muy bien! Wow, si lo sigue haciendo hasta los 65, se habrá comido 70,000 donas. Son muchas donas. No creo que "Winston" lo haga. Pero ahora que lo hemos hecho con una función, realmente es fácil cambiar alguna de las partes. Si "Winston" ve esto y dice: "Vaya, es mucho, ¿qué tal si sólo como una dona al día?" Ok, bueno podemos ir justo aquí y cambiar este número, y vemos que todo cambia. Ahora son 23,000. Todavía es mucho. Así que tal vez "Winston" diga: "Está bien, ¿qué tal si sólo como una a la semana?" Sí, eso es razonable, ok. Entonces sólo cambiamos 365 por 50, porque un año tiene como 50 semanas, ¿cierto? Ok, eso está mucho mejor, ¿cierto? 3,000 donas, eso parece razonable. Muy bien, así que como ves, con funciones y regresando valores, podemos ahorrar código y salvar vidas.