Dornii: optionaler Parameter für Funktion

Hallo,

wie übergibt man in einer Funktion einen optionalen Parameter?

  1. So gehts ja wohl nicht:

    function test(a,b=0,c=1...) {
    ...
    }

  2. 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:|
  3. Hi,

    wie übergibt man in einer Funktion einen optionalen Parameter?

    wie meinst Du das denn genau? Da Du JAVASCRIPT als Bereich angegeben hast, geht's Dir um den reinen Funktionsaufruf, mal mit und mal ohne Parameter?
    Das wäre dann z.B.:

    javascript:funktionsname(parameter) bzw.
    javascript:funktionsname()

    in der funktion kannst du dann z.b. abfragen:

    function funktionsname(parameter) { if (!parameter) alert("keinen Parameter uebergeben); }

    freundliche Grüße
    Ingo

  4. wie übergibt man in einer Funktion einen optionalen Parameter?

    http://selfhtml.teamone.de/javascript/objekte/function.htm
    Du kannst mit funktionsName.arguments die alle Parameter durchlaufen, ohne sie definieren zu müssen.

    Struppi.

  5. Danke, hat mir alles sehr geholfen :-) .