Cosa succede quando chiamo una funzione Javascript che accetta parametri, senza fornire quei parametri?Cosa succede quando chiamo una funzione Javascript che accetta parametri, senza fornire quei parametri?
risposta
Impostato su undefined. Non hai un'eccezione. Può essere un metodo conveniente per rendere la tua funzione più versatile in determinate situazioni. Non definito viene valutato come falso, quindi è possibile verificare se è stato inoltrato o meno un valore.
E se la tua funzione può richiedere cinque parametri, ma ne fornisci solo due? Stessa cosa? – Krummelz
sono accettate le prime due, le seguenti tre sono impostate su indefinito –
inoltre, è possibile fornire * più * parametri che la funzione accetta. puoi quindi accedere a tutti i parametri tramite la raccolta 'arguments'. 'function test (param1) {alert (param1); if (arguments.length == 2) alert (argomenti [1]); } test(); test (1); prova (1,2); ' –
Si ottiene un'eccezione non appena si tenta di utilizzare uno dei parametri.
javascript imposterà i parametri mancanti sul valore undefined
.
function fn(a) {
console.log(a);
}
fn(1); // outputs 1 on the console
fn(); // outputs undefined on the console
Questo funziona per qualsiasi numero di parametri.
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
Si noti inoltre che l'array arguments
conterrà tutti gli argomenti forniti, anche se si fornisce più di che sono richieste, la definizione della funzione.
C'è una risposta inversa a tutti in quanto è possibile chiamare una funzione che non sembra avere parametri nella firma con i parametri.
È quindi possibile accedervi utilizzando lo strumento integrato arguments
globale. Questo è un array che puoi ottenere dai dettagli.
ad es.
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))
Oltre alle osservazioni di cui sopra, gli argomenti matrice ha lunghezza zero. Si può esaminare piuttosto che i parametri nominati nella firma della funzione.
- 1. Template Specializzazione per una funzione senza parametri
- 2. Unità testare una fabbrica di astratto che accetta parametri
- 3. Come chiamo una funzione Javascript da Python?
- 4. TypeError: oggetto() non accetta parametri
- 5. Java Funzione Variadica parametri
- 6. Javascript: parametri "infiniti" per la funzione?
- 7. Cosa succede se chiamo una funzione java da più thread da C con JNI?
- 8. Modelli variabili senza parametri di funzione
- 9. Creare una funzione C che accetta parametri di diversi tipi di dati
- 10. fuga singola citazione in funzione JavaScript parametri
- 11. In Python, cosa succede quando importi all'interno di una funzione?
- 12. Funzione di callback Javascript con parametri
- 13. Funzione SQL senza parametri di ingresso
- 14. Rails 4 parametri forti senza parametri richiesti
- 15. modello di funzione variadic senza parametri formali
- 16. Cosa succede quando aggiorniamo una pagina web?
- 17. Cosa succede con una funzione inline esterna?
- 18. Scala case class.type non accetta parametri
- 19. javascript funzione e parametri di callback
- 20. Creare un metodo ruby che accetta un hash dei parametri
- 21. C++ 11 Funzione modello che utilizza una funzione std :: che dipende dai parametri del modello
- 22. Posso creare una "macro" PHP (come #define) per fornire i parametri per le chiamate di funzione?
- 23. Passare una funzione con parametri come parametro?
- 24. Devo passare parametri vuoti a una funzione javascript?
- 25. Cosa succede se chiamo jQuery.post() con un url vuoto?
- 26. Passaggio di parametri a una funzione prototipata in javascript
- 27. Che cosa significa una funzione senza corpo?
- 28. C++ come definire una funzione senza conoscere i parametri esatti
- 29. Esiste una funzione std che restituisce solo i suoi parametri?
- 30. Metodo che accetta n Numero di parametri in C#
Bene, cosa è successo quando hai chiamato una funzione Javascript che accetta parametri senza fornire quei parametri? Per favore, dillo –
Beh, non c'erano errori .. questo è il motivo per cui mi stavo chiedendo .. – Krummelz
presumibilmente, parti del codice eseguite fino a quando non ha colpito un NPE, o nessun NPE si è verificato, o un NPE si è verificato immediatamente. osservare uno di questi scenari è molto diverso dall'ottenere una rigida comprensione di come javascript gestisce gli argomenti (che è, come con molti altri aspetti di js, non molto ovvio, ma abbastanza nitido una volta che si sa come utilizzarlo) –