wake-up-neo.com

Muss ich leere Parameter an eine Javascript-Funktion übergeben?

Angenommen, ich habe eine Funktion wie diese, die ich in einem Skript anrufe:

  function form_senden( form_name, cnf, confirm_txt, trigger_field, ,do_check, chknfcs, allow, errorMsg ){
  // do something 
  }

Bei den meisten Funktionsaufrufen übergebe ich nur den ersten Parameter.

Frage:
Ist es in diesem Fall in Ordnung, leere Parameter wie folgt wegzulassen:

  form_senden("abc");

Oder muss ich alle Parameter übergeben, unabhängig davon, ob sie so verwendet werden:

  form_senden("abc","","","","","","","","");

Vielen Dank!

19
frequent

form_senden ("abc"); ist in Ordnung

die anderen Parameter werden als undefiniert initialisiert

15
camino

Es ist in Ordnung, nur den ersten Parameter zu übergeben, da alle anderen nicht gesetzt werden .. Wenn Sie das 1. und 3. Argument setzen möchten, müssen Sie die zweite Null wie folgt festlegen:

form_senden("a",null,"b");
86
Gung Foo

Das Auslassen von Funktionsparametern ist in Ordnung, die fehlenden Parameter haben einen undefined-Wert in der Funktion.

2
lanzz

sie können nur form_senden("abc"); tun, um Standardwerte in die Funktionsdefinition zu übernehmen.

    function form_senden( form_name, cnf , confirm_txt , trigger_field , ,do_check , chknfcs, allow, errorMsg  ){

if(typeof(cnf)==='undefined') cnf = '';
if(typeof(confirm_txt)==='undefined') confirm_txt = ''; ...and so on
// do something 
}
2
Teena Thomas

der Vollständigkeit halber können in ES6 (ES2015) und höher Standardwerte angegeben werden

// `b` will default to 1

function multiply(a, b = 1) {
  return a * b;
}
0
mangonights

Bezüglich der Standardparametereinstellungen. Wenn Sie eine Standardparametereinstellung verwenden, z. B. Funktion f (arg = 1) {}, funktioniert die Einstellung des Standardwerts nicht, wenn false, nulll oder null übergeben werden. Sie müssen den Parameter arg/parameter leer lassen oder übergeben nicht definiert.

0
jamess