Funciones

Declaración e invocación

La sintaxis básica para crear una función es:

function f(parameter1, parameter2, ...) { ... code ... }
Por ejemplo, definición de la función concatenar:
function concatenar(st1, st2) { return st1+st2; }

llamado de la función, se ejecutará la función:

concatenar("hola ","tu");

Ejercicio para realizar en alguna de las consolas (jsconsole.com o la consola de chrome)

Ejecutar Resultado Explicar el resultado
concatenar(3,1); 4
concatenar(3,"g"); 3g
concatenar("g",3); g3
concatenar(3); 3undefined
concatenar(); 3NaN
concatenar; function concatenar(st1, st2) {return st1+st2;}

Un número indefinido de parámetros pueden ser definidos en la función. A los parámetros no se les define un tipo de dato, por consiguiente, no hay validación de que los tipo de datos de los argumentos al llamar la función coincidan con los de los parámetros. Tampoco se verifica que el número de argumentos al llamar es igual al de los parámetros en la creación de la función.

La función puede acceder a los argumentos a través de los nombres de los parámetros o también a través del objeto local arguments. Ver ejemplo en http://www.w3schools.com/js/js_function_parameters.asp

Cuando JavaScript alcanza una instrucción de retorno (return), la función detendrá la ejecución. Si la función se invoca desde una instrucción, después de la ejecución se regresa para ejecutar el código después de la sentencia que la invocó. Las funciones a menudo calculan un valor de retorno. El valor de retorno es "devuelto" a quien lo llamó. En el siguiente ejemplo, la variable suma tendrá el valor

var suma = sumar(4, 3); console.log(suma); function sumar(x, y){ return x+y; }

En la consola se imprimirá el número 7.

Devolver el código de la función

Al invocar la función sin () se devuelve la definición.

var codigoSumar = sumar; console.log(codigoSumar); function sumar(x, y){ return x+y; }

En la consola se devuelve function sumar(x, y){ return x+y; }

Pregunta:

Qué imprime la instrucción: console.log(codigoSumar(1,1))




results matching ""

    No results matching ""