¿Qué sucede cuando llamo a una función de Javascript que toma parámetros, sin proporcionar esos parámetros?¿Qué sucede cuando llamo a una función de Javascript que toma parámetros, sin proporcionar esos parámetros?
Respuesta
Establecer como undefined. No obtienes una excepción. Puede ser un método conveniente para hacer que su función sea más versátil en ciertas situaciones. Indefinido se evalúa como falso, por lo que puede verificar si se transfirió o no un valor.
¿Y qué pasa si su función puede tomar cinco parámetros, pero solo proporciona dos? ¿La misma cosa? – Krummelz
se aceptan los dos primeros, los siguientes tres están definidos en –
indefinido, además, puede proporcionar más parámetros * que la función acepta. a continuación, puede acceder a todos los parámetros mediante la colección 'arguments'. 'prueba de función (param1) {alerta (param1); if (arguments.length == 2) alerta (argumentos [1]); } prueba(); prueba (1); prueba (1,2); ' –
Obtiene una excepción tan pronto como intenta utilizar uno de los parámetros.
javascript configurará los parámetros faltantes en el valor undefined
.
function fn(a) {
console.log(a);
}
fn(1); // outputs 1 on the console
fn(); // outputs undefined on the console
Esto funciona para cualquier cantidad de parámetros.
function example(a,b,c) {
console.log(a);
console.log(b);
console.log(c);
}
example(1,2,3); //outputs 1 then 2 then 3 to the console
example(1,2); //outputs 1 then 2 then undefined to the console
example(1); //outputs 1 then undefined then undefined to the console
example(); //outputs undefined then undefined then undefined to the console
también en cuenta que la matriz arguments
contendrá todos los argumentos suministrados, incluso si se suministra más que los requeridos por la definición de función.
Existe la inversa de la respuesta de todos en que puede llamar a una función que no parece tener parámetros en la firma con parámetros.
A continuación, puede acceder a ellos utilizando el arguments
global integrado. Esta es una matriz que puede obtener los detalles de ella.
p. Ej.
function calcAverage()
{
var sum = 0
for(var i=0; i<arguments.length; i++)
sum = sum + arguments[i]
var average = sum/arguments.length
return average
}
document.write("Average = " + calcAverage(400, 600, 83))
Además de las observaciones anteriores, los argumentos matriz tiene longitud cero. Uno puede examinarlo en lugar de los parámetros nombrados en la firma de la función.
- 1. Python introspection: descripción de los parámetros que toma una función
- 2. ¿Cómo llamo a un constructor de JavaScript heredado con parámetros?
- 3. ¿Cómo puedo llamar a una función que toma 2 parámetros con un Tuple2?
- 4. Cómo pasar parámetros cuando se llama a una función sin el paréntesis [Javascript]
- 5. ¿Debo pasar parámetros vacíos a una función de JavaScript?
- 6. pasar parámetros a una función prototipo en javascript
- 7. C++ 11 Función de plantilla que toma una función std :: que depende de los parámetros de la plantilla
- 8. ¿Qué sucede si llamo a jQuery.post() con una url vacía?
- 9. Función C sin comportamiento de parámetros
- 10. Plantillas variables sin los parámetros de función
- 11. Javascript: parámetros "infinitos" para la función?
- 12. Función SQL sin parámetros de entrada
- 13. Encuadernación de parámetros: ¿Qué sucede debajo del capó?
- 14. ¿Por qué un delegado sin parámetros compila?
- 15. ¿Puedo escribir una tarea ant que toma parámetros cuando se ejecuta desde otra tarea ant?
- 16. ¿Cómo puedo pasar una referencia a una función, con parámetros?
- 17. ¿Cómo "Aplicar" para los resultados de una función sin parámetros
- 18. ¿Pasar una matriz de parámetros vs. parámetros individuales a una función en PHP?
- 19. pase de parámetros a la función de cierre en javascript
- 20. cómo pasar parámetros de una función cuando se utiliza timeit.Timer()
- 21. ¿Qué sucede si no llamo a ReleaseBuffer después de GetBuffer?
- 22. Llamar a la función dinámica con parámetros dinámicos en Javascript
- 23. En Python, ¿qué sucede cuando importas dentro de una función?
- 24. Javascript: ¿Cómo pasar de una función con parámetros de cadena como parámetro a otra función
- 25. ¿Qué sucede cuando mongodb está sin memoria?
- 26. En TransactSQL, ¿es posible crear una función que tome una cantidad variable de parámetros (parámetros opcionales)?
- 27. ¿Por qué PHP no arroja un error cuando paso demasiados parámetros a una función?
- 28. ¿Cómo llamo a una función Javascript desde Python?
- 29. Pasar una función con parámetros como parámetro?
- 30. C++: ¿Cómo paso una función (sin conocer sus parámetros) a otra función?
Bueno, ¿qué pasó cuando llamaste a una función de Javascript que toma parámetros, sin proporcionar esos parámetros? Dígame por favor. –
Bueno, no hubo errores ... es por eso que me preguntaba ... – Krummelz
presumiblemente, partes del código ejecutadas hasta que golpeó un NPE, o no se produjo NPE, o se produjo un NPE inmediatamente. observar cualquiera de estos escenarios es muy diferente de obtener una comprensión rígida de cómo javascript maneja los argumentos (que es, como ocurre con muchos otros aspectos de js, no muy obvio, pero bastante bueno una vez que sabes cómo utilizarlo) –