★ wanayoo — archive 1999 https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Functions/argumentsNouvelle recherche | Portail wanayoo
mozilla
Ihre Suchergebnisse

    Arguments object

    Zusammenfassung

    Das arguments-Objekt ist ein Array ähnliches Objekt, das auf die übergebenen Parameter einer Funktion verweist.

    Syntax

    arguments

    Beschreibung

    Das arguments-Objekt ist eine lokal verfügbare Variable in jeder Funktion; arguments als Eigenschaft einer Funktion kann nicht mehr benutzt werden.

    Man kann auf die Parameter einer Funktion referenzieren, wenn man in einer Funktion das arguments-Objekt benutzt. Dieses Objekt enthält einen Eintrag für jeden übergebenen Parameter der Funktion. Der erste Eintrag beginnt mit dem Index 0. Wenn einer Funktion drei Parameter übergeben werden, kann wie folgt auf diese zugegriffen werden;

    arguments[0]
    arguments[1]
    arguments[2]
    

    Die Parameter können auch überschrieben werden:

    arguments[1] = 'new value';

    Das arguments-Objekt ist kein Array. Es ist ähnlich wie ein Array, hat aber keine Eigenschaften eines Arrays mit Ausnahme von length. Zum Beispiel hat ist die pop-Methode nicht vorhanden. Jedoch kann arguments zu einem echten Array konvertiert werden:

    var args = Array.prototype.slice.call(arguments);

    Man sollte slice nicht auf arguments anwenden, weil es Optimierungen von JavaScript-Engines (z. B. V8) verhindert.

    Wenn Array generics verfügbar sind, kann folgendes ebenfalls eingesetzt werden:

    var args = Array.slice(arguments);

    Das arguments-Objekt ist nur im Rumpf einer Methode verfügbar. Wenn versucht wird von außerhalb einer Funktion auf arguments zuzugreifen, ist das Resultat eine Fehlermeldung.

    Man kann das arguments-Objekt nutzen, um eine Funktion mit mehr übergebenen Parametern, als die forlmale Definition, zu verarbeiten. Diese Technik ist hilfreich für Funktionen mit variabler Parameteranzahl. Man kann arguments.length nutzen, um die Anzahl der übergebenen Parameter festzustellen und dann jeden Parameter über das arguments-Objekt zu verarbeiten. (Um die Anzahl der deklarierten Parameter festzustellen, muss die Funktion.length Eigenschaft genutzt werden.)

    Eigenschaften

    arguments.callee
    Referenz zur aktuell ausgeführten Funktion.
    arguments.caller
    Referenz zur Funktion, die die aktuelle Funktion ausführt hat.
    arguments.length
    Anzahl der übergebenen Funktionsparameter.

    Beispiele

    Beispiel: Definition einer Funktion, die mehrere Strings konkateniert

    Dieses Beispiel definiert eine Funktion, die mehrere Strings konkateniert. Der einzige formale Parameter der Funktion ist ein String, der die Zeichen enthält, die die einzelnen Elemente trennt. Die Funktion ist wie folgt definiert:

    function myConcat(separator) {
      var args = Array.prototype.slice.call(arguments, 1);
      return args.join(separator);
    }

    Man kann eine beliebige Anzahl von Parametern der Funktion übergeben und es wird jedes Argument für den String eingesetzt.

    // returns "red, orange, blue"
    myConcat(", ", "red", "orange", "blue");
    
    // returns "elephant; giraffe; lion; cheetah"
    myConcat("; ", "elephant", "giraffe", "lion", "cheetah");
    
    // returns "sage. basil. oregano. pepper. parsley"
    myConcat(". ", "sage", "basil", "oregano", "pepper", "parsley");

    Beispiel: Definition einer Funktion, die HTML-Listen erstellt

    Im Beispiel wird eine Funktion definiert, die einen String mit HTML für eine Liste zurückgibt. Der einzige formale Parameter der Funktion ist ein String, der "u" für eine ungeordnete Liste oder "o" für eine geordnete Liste enthält. Die Funktion ist wie folgt definiert:

    function list(type) {
      var result = "<" + type + "l><li>";
      var args = Array.prototype.slice.call(arguments, 1);
      result += args.join("</li><li>");
      result += "</li></" + type + "l>"; // end list
    
      return result;
    }

    Der Funktion kann eine variable Anzahl an Parametern übergeben werden und es wird jeder Parameter als eintrag einer in der Liste hinzugefügt. Zum Beispiel:

    var listHTML = list("u", "One", "Two", "Three");
    
    /* listHTML is:
    
    "<ul><li>One</li><li>Two</li><li>Three</li></ul>"
    
    */

    Spezifikationen

    Spezifikation Status Kommentar
    ECMAScript 1st Edition. Standard Initiale Definition. Implementiert in JavaScript 1.1
    ECMAScript 5.1 (ECMA-262)
    Die Definition von 'Arguments Object' in dieser Spezifikation.
    Standard  
    ECMAScript 6 (ECMA-262)
    Die Definition von 'Arguments Exotic Objects' in dieser Spezifikation.
    Entwurf  

    Browserkompatibilität

    Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
    Basic support (Ja) (Ja) (Ja) (Ja) (Ja)
    Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
    Basic support (Ja) (Ja) (Ja) (Ja) (Ja) (Ja)

    Siehe auch

    Schlagwörter des Dokuments und Mitwirkende

    Schlagwörter: 
    Mitwirkende an dieser Seite: schlagi123
    Zuletzt aktualisiert von: schlagi123,