Hola Massiel, muy buena pregunta. Espero haberla entendido ¿vos te referis a poner una función dentro de otra? Como por ejemplo "saltarlinea" la colocamos dentro de "imprimir". Una vez que está declarada se puede hacer eso, ya el mismo programa lo permite. También ten en cuenta que la podes resignificar dentro del código: var x = 19; luego en otra linea escribes x=10; y a partir de ahí empezará a valer eso hasta que le den otro valor. Y respondiendo un poco a lo que dijiste, todas las variables son únicas e irrepetibles por eso las reconoce el programa. Como te expliqué con la variable X, no podes poner algo con el mismo nombre para hacer otra cosa (en este caso tiene el valor de un INT es decir de un número entero). Si bien se pueden pasar valores de tipo String a ser tomados como números pero responde a la misma lógica: b = "90", acá el 90 es leido como texto, en cambio, b = 90 es un valor numérico. Podría usar parseInt(prompt("diga su número favorito y se le sumará 10")); En este caso si no utilizamos "parseInt" será todo texto: supongamos que la respuesta fue: 30 el resultado impreso será "3010" porque lo tomó como una concatenación. Ahora utilizando parseInt lo tomará como un valor numérico y el resultado será : 40. // En sintesis, el programa lo reconoce porque los nombres de las variables no se pueden repetir