Los últimos tutoriales de desarrollo web
 

JavaScript Function Parameters


Una función JavaScript no realiza ninguna comprobación de valores de los parámetros (argumentos).


Function Parameters y Arguments

Al principio de este tutorial, aprendido que las funciones pueden tener parameters :

functionName ( parameter1, parameter2, parameter3 ) {
    code to be executed
}

Function parameters son los nombres que figuran en la definición de función.

Function arguments son los verdaderos valores pasados a (y recibidos por) la función.


Reglas de parámetros

la definición de funciones de JavaScript no especifican los tipos de datos de parámetros.

funciones de JavaScript no realizan la verificación de tipos en los argumentos pasados.

funciones de JavaScript no comprueban el número de argumentos recibidos.


Valores predeterminados de los parámetros

Si una función es llamada con argumentos que faltan (menos declarada), los valores que faltan se establecen en: indefinido

A veces esto es aceptable, pero a veces es mejor asignar un valor por defecto para el parámetro:

Ejemplo

function myFunction(x, y) {
    if (y === undefined) {
          y = 0;
    }
}
Inténtalo tú mismo "

Si una función es llamada con demasiados argumentos (más que declarada), estos argumentos se pueden alcanzar utilizando los argumentos objeto.


El objeto arguments

funciones de JavaScript tienen incorporado un objeto llamado objeto arguments.

El objeto argumento contiene una matriz de los argumentos utilizados cuando la función se llama (invoca).

De esta manera puede utilizar simplemente una función de encontrar (por ejemplo) el valor más alto de una lista de números:

Ejemplo

x = findMax(1, 123, 500, 115, 44, 88);

function findMax() {
    var i;
    var max = -Infinity;
    for (i = 0; i < arguments.length; i++) {
        if (arguments[i] > max) {
            max = arguments[i];
        }
    }
    return max;
}
Inténtalo tú mismo "

O crear una función para resumir todos los valores de entrada:

Ejemplo

x = sumAll(1, 123, 500, 115, 44, 88);

function sumAll() {
    var i, sum = 0;
    for (i = 0; i < arguments.length; i++) {
        sum += arguments[i];
    }
    return sum;
}
Inténtalo tú mismo "

Los argumentos se pasan por valor

Los parámetros, en una llamada de función, son argumentos de la función.

JavaScript argumentos se pasan por valor: La función sólo se llega a conocer los valores, no ubicaciones del argumento.

Si una función cambia el valor de un argumento, no cambia el valor original del parámetro.

Los cambios en los argumentos no son visibles (reflejado) fuera de la función.


Los objetos se pasan por referencia

En JavaScript, las referencias a objetos son valores.

Debido a esto, los objetos se comportan como si se pasan por referencia:

Si una función cambia una propiedad del objeto, cambia el valor original.

Los cambios de propiedades de objeto son visibles (reflejada) fuera de la función.