Tobias Kloth: optionaler Parameter für Funktion

Beitrag lesen

Hallo Dornii,

wie übergibt man in einer Funktion einen optionalen Parameter?

ich hab mal etwas geforscht, und bin auf http://aktuell.de.selfhtml.org/tippstricks/javascript/formkontrolle/ gestoßen, darin ist eine Funktion, die einen optionalen Parameter enthält - hier mal ein kleines Beispiel:

<script type="text/javascript">
function foo(bar1,bar2){
  var bar2 = !bar2?'bar2 nicht gesetzt':bar2;
  alert(bar1+'\n'+bar2);
}
</script>
<span onclick="foo('übergebener Inhalt von bar1');">foo mit einem Parameter</span><br>
<span onclick="foo('übergebener Inhalt von bar1','übergebener Inhalt von bar2');">foo mit zwei Parametern</span>

eine Funktion mit optionalem Parameter wird also genauso definiert wie eine die nur Pflicht-Parameter haben, nur werden sie eben einfach ohne die optionalen Parameter aufgerufen. In der Funktion wird dann geprüft, ob bar2 true ist, wenn ja, ist der Inhalt von bar2 der der übergebene, ansonsten kann ein Standardwert angegeben werden. Der Nachteil ist allerdings, dass '!bar2' auch true gibt, wenn mit bar2 ein Leerstring übergeben wird und somit wird bar2 auf den Standardwert gesetzt - da müsste man noch mit substr o.ä. basteln - vielleicht wäre das ganze sogar ein TuT-Artikel wert?

Grüße aus Nürnberg
Tobias

--
Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|