Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
5
respuestas

[Duda] Duda: ¿Si el maestro no declaró la variable "frase" como es que puede pasarla como parámetro a la función?

Pregunta: ¿Si el maestro no declaró la variable "frase" como es que puede pasarla como parámetro a la función?Me gustaría entender esto de los parámetros como viene, dijo que es una variable, indica que cuando uno escribe algo aquí en los parámetros de una función no necesita declararlos? Como sabe qué tipo de parámetro es si yo quiero poner unos números enteros por ejemplo de parámetros como no los confunde con una variable JavaScript? Me gustaría abundar mas sobre los parámetros que se le pasan a una función aprender la lógica de estos.

5 respuestas

Lo que espera la función dentro de los paréntesis es un parámetro, ésta puede ser de tipo string o number, el tipo de variable que se pase en realidad no importa, por que después se puede parsear y ver que tipo de variable se esta recibiendo como parámetro. Los parámetros pueden ser valores declarados en variables o datos que se desean pasar por parámetros, por lo general los parametros son reconocidos como tipo string.

Puede leer más aquí sobre las funciones en JS https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Functions

Hola, lo que pasa es que para esa función no es una variable, sino un parámetro. Lo que hace la función con ese parámetro es tomarlo como variable momentáneamente. Podríamos decir que declara la variable implícitamente y solo para la función. Sería más o menos así:

function miFuncion(miParametro) {
    let miParametro;
}

La línea let miParametro la function la omite para no tener código innecesario, pero implícitamente es lo que hace.

Entiendo que al poner como parametro frase, toma todo el contenido dentro de los paréntesis, ya sea un resultado de una operación, un concatenado, otra función o todas ellas.

¡Hola!

Quizás te quede más claro con ejemplos más concretos.

<meta charset="UTF-8">

<script>
    function saludar(nombre){
        document.write("<h1>Hola " + nombre + "!!</h1>");
    }

    saludar("Fernando");
</script>

En el extracto de código anterior, el resultado es Hola Fernando!! Como habrás podido observar, en ningún lado estamos especificando explícitamente el tipo de dato del parámetro que acabamos de ingresar a la función, es decir, la palabra "Fernando". JavaScript nos ayuda con esa tarea y de forma automática ha identificado el tipo de dato que hemos ingresado y lo ha sustituido según corresponde.

¿Qué hubiera sucedido si ingresamos, en cambio, un valor numérico?

saludar(5334);

El resultado sería el siguiente: Hola 5334!! sin embargo, debemos notar que en la función ingresamos un número, porque no está delimitado entre comillas. Pero una vez dentro de la función JavaScript ha decidido que ese número, para efectos de nuestra función, es una cadena, es decir, "5334". JavaScript ha hecho esto porque está diseñado para ello. Por lo general, asociará el tipo de dato String para la mayoría de sus parámetros.

¿Entonces, cómo puedo trabajar con un valor numérico que ingresé a una función, si ésta fue detectada por JavaScript como una cadena? Simple, en el cuerpo de la función debemos cambiar el tipo de dato del parámetro. Por ejemplo, podemos hacer esto:

var number = parseInt(nombre);

Lo que hemos hecho fue cambiar el tipo de dato del parámetro nombre que habíamos ingresado como 5334 a entero, y lo hemos almacenado en una variable llamada number. Tampoco hemos definido el tipo de dato para la variable number, pero JavaScript ha decidido que es un entero ya que el valor que se ha almacenado ha recibido un cambio de tipo de dato explícito a través del método parseInt.

Si tienes dudas, postealas por aquí!