Auch wenn JavaScript eine C-ähnliche Programmsyntax hat, können wir in JavaScript nicht auf die gewöhnliche Art Default-Werte für Funktions-Parameter vergeben. In PHP z.B. definieren wir die bei Funktionen die Standard-Werte für Parameter folgerndermaßen:

public function myFunctionWithDefaults($myFirstParameter=‘Default-Value’) {

In JavaScript werden Variablen ohne ein Dollarzeichen geschrieben, diese Darstellung funktioniert leider in JS nicht. Also bin nach meiner Recherche auf folgende 2 Varianten gestoßen.

Variante 1: Standard-Werte für Funktions-Parameter in JS

Bei Variante 1 wird die Parameter-Variable auf null geprüft, trifft dies zu wurde kein Wert übergeben und man kann sie mit einem Default-Wert füllen.

function myFunctionWithDefaults(parameterA, parameterB){
    if(parameterA == null) {
        parameterA = ‘default string value for a A ‘;
    }
    if(parameterB == null) {
        parameterB = 123;
    }
}

Variante 2: Standard-Werte für Funktions-Parameter in JS

In der zweiten Variante wird auf die Nennung der Parameter-Variablen verzichtet und ein allgemeines Feld für den Parameter-Zugriff verwendet, was die Sache nicht sehr verständlich macht.

function myFunctionWithDefaults() {
    var valueA = ‘default string value for a A’;
    var valueB = ‘default string value for a B’;

    if(arguments.length >= 1) {
        valueA = arguments[0];
    }

    if(arguments.length >= 2) {
        valueB = arguments[1];
    }
}

Freitag, 3. April 2009 [JavaScript] RSS 2.0 / Trackback senden

1 Kommentar

  1. s.lobinger

    Donnerstag, 13. Mai 2010 um 11:28

    Danke für den aufschlussreichen Text.
    Ich persönlich würde dann immer zu Variante 1 Tendieren, da klar festgelegt wird welche Werte der funktion übergeben werden sollen /können

Einen Kommentar hinterlassen

XHTML allowed tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>