Tecnología

Inicio

Funciones de JavaScript para aceptar parámetros con nombre

Una típica función JavaScript especifica una lista ordenada de argumentos. Cuando se llama a la función, se pasa un valor para cada argumento en el orden especificado. Una función que acepta parámetros con nombre añade una etiqueta a cada valor. Esto proporciona algunas ventajas, pero también puede requerir más de código. Para las funciones de parámetro con nombre implementadas, es necesario simular la funcionalidad, ya que no es compatible de forma nativa con JavaScript.

parámetros sin nombre

Una función típica en JavaScript incluye una o más variables de argumentos. Tienes que conocer el propósito de cada argumento, si es necesario y si hay un valor predeterminado antes de llamar a la función. Cuando se llama a la función, proporcionar los argumentos necesarios en el orden en el que se espera que aparezcan. Por ejemplo, la función "parseInt" toma dos argumentos. El primer parámetro es una cadena necesaria para ser analizado y convertido a un entero. El segundo parámetro es un número opcional que representa la base del número entero resultante, que por defecto es "10" si no se suministra. Llamar "parseInt" con uno o dos argumentos en el orden especificado:

cadena var = "3829";
var s = parseInt (cadena);
var t = parseInt (String, 10); // Éstos son los mismos, porque "10" es el valor predeterminado

Parmeters nombradas

En una función de JavaScript utilizando parámetros con nombre, cada argumento tiene una etiqueta asociada a ella. Pasar un par de etiquetas de valor a la función de cada argumento con dos puntos entre la etiqueta y el valor. Incluya todos los pares de etiquetas de valor entre llaves. Definir la función para aceptar un argumento y acceder a los parámetros de la función como las propiedades del argumento. Por ejemplo, el código siguiente crea una función de cálculo de punta que acepte los parámetros con nombre "BILLTOTAL" y una opcional "tipExtra." La función calcula entonces la punta de multiplicar "BILLTOTAL" en un 20 por ciento y agrega la punta extra opcional. Observe el código adicional que las pruebas de la existencia de cada parámetro antes de que se utiliza y maneja la excepción donde no se proporciona:

función calculateTip (tipInfo) {
si (tipinfo.billTotal === === sin definir || tipinfo.billTotal null) return 0;
baseTip var = tipinfo.billTotal * 0.2;
baseTip + = tipinfo.tipExtra || 0;
volver Math.round (baseTip);
}

theTip = calculateTip (BILLTOTAL: 175, 20); // CalculateTip devuelve "55"

Ventajas y desventajas

Las funciones que utilizan parámetros con nombre tienen algunas ventajas. En primer lugar, son más fáciles de leer y depurar porque la etiqueta argumento se especifica en el código donde se invoca la función. En segundo lugar, puede llamar a la función con los parámetros en cualquier orden. La tercera ventaja es que se puede omitir un parámetro sin causar un error cuando se llama a la función. Sin embargo, las funciones de parámetros llamado también tienen algunas desventajas. La primera es que usted tiene que presentar la etiqueta correcta a cada parámetro y la segunda es que es necesario agregar código en la propia función que va a atrapar excepciones en las que no se aprobó un parámetro.

Simulación funcionalidad

JavaScript no soporta nativamente usando parámetros con nombre. El método descrito para definir y utilizar parámetros con nombre se considera técnicamente una simulación de funciones de parámetros con nombre. Técnicamente, se está definiendo una función que toma un argumento, que es un objeto. Cuando se llama a la función, en lugar de pasar una sola variable de objeto, está pasando una serie de propiedades de los objetos encerrados en un conjunto de llaves, lo que crea un objeto "en la marcha". Cada parámetro llamado se accede por hacer frente a una propiedad del objeto, y la sintaxis para hacer frente a un parámetro llamado y un objeto de propiedad resultan ser idénticos.