Cómo crear funciones personalizadas con argumentos opcionales y requeridos en javascript
Todos los argumentos a favor de una función de javascript son opcionales. De hecho, la persona que llama puede enviar tantos argumentos como se desee para programar con HTML. Por supuesto, si usted está esperando un solo argumento, entonces podrás procesar sólo un argumento en la mayoría de los casos. Desafortunadamente, usted podría estar esperando al menos un argumento y no puede recibir ninguna en absoluto.
En resumen, se necesita algún método de tratar con argumentos en javascript que le ayuda a explicar lo que la persona que llama puede o no enviar. El ejemplo siguiente muestra algunas técnicas para trabajar con argumentos opcionales:
OptionalArgument función (param) {// determinar si había alguna params passed.if (typeof (param) == "undefined") param = "¡Hola!" - // Determinar si existen params.if extra (typeof (argumentos ! [1]) = "undefined") // Si es así, la salida del param y opcional // argumento onscreen.document.getElementById ("Resultado") innerHTML = "El parámetro es:". + param + "y el argumento opcional es: "+ argumentos [1] -else // Salida del onscreen.document.getElementById param (" Resultado ") innerHTML =". El parámetro es: "+ pará-}
Esta función requiere un argumento como entrada. Por supuesto, la persona que llama no puede proporcionar un valor para param, Lo que significa que param es indefinido. Puede comprobar que el problema utilizando la tipo de operador. Observe que cuando param no está definido, el código asigna un valor por defecto. Esta es la forma correcta de manejar argumentos con nombre opcionales.
javascript también proporciona una especial argumentos variable. Es una matriz que contiene un elemento para cada argumento pasado a la función. Cuando alguien pasa más argumentos de lo previsto o de su función puede aceptar un número variable de argumentos, puede utilizar la argumentos variable para trabajar con ellos.
En este caso, cuando la persona que llama pasa un argumento adicional - no se explica por param - la aplicación todavía puede mostrar su valor en pantalla mediante el uso de un mensaje diferente del mensaje que se muestra cuando una persona que llama pasa a cero o uno argumentos. Normalmente se utiliza bucles para procesar un número variable de argumentos.
A veces usted realmente desea uno y sólo un parámetro. Es una pérdida de tiempo para quejarse de demasiados argumentos en la mayoría de los casos, pero sin duda se puede hacer algo al respecto no conseguir lo que necesita. El siguiente ejemplo prueba para un tipo específico de entrada para asegurarse de que tiene lo que se necesita:
RequiredArgument función (param) {// Determinar si había alguna params passed.if (typeof (param) = "cadena"!) // Si no, volver a la llamada sin hacer // anything.return - // Si es así, a continuación, mostrar la onscreen.elsedocument.getElementById valor ("Resultado") innerHTML = "El parámetro es:". + pará-}
En este caso, el código comprueba si hay una cadena. Cuando la persona que llama pasa algo que no sea una cadena, el código devuelve simplemente sin hacer nada. Por supuesto, usted podría pasar de nuevo un valor que indica un error o incluso mostrar un alerta () en la pantalla.
¿Cómo reaccionar ante el error depende de usted, pero usted necesita para mantener la naturaleza sola tarea de funciones en cuenta a la hora de decidirse por una reacción. En este caso, no hacer nada es la mejor opción. Cuando la persona que llama lo hace pasar una cadena, la función lo muestra en pantalla.