★ wanayoo — archive 1999 https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Function/callNouvelle recherche | Portail wanayoo

Check out Firefox Developer Edition, the first browser built for developers like you. http://mzl.la/112VrtT

mozilla
Ihre Suchergebnisse

    Function.prototype.call()

    Diese Übersetzung ist in Arbeit.

    Zusammenfassung

    Die call() Funktion ruft eine Funktion mit einem festgelegten this Wert und individuellen Argumenten auf.

    Notiz: Die Syntax dieser Funktion ist nahezu identisch zu apply(). Der Unterschied ist, dass call() eine Liste von Argumenten und apply() einen einzelnen Array von Argumenten akzeptiert.

    Syntax

    fun.call(thisArg[, arg1[, arg2[, ...]]])

    Parameter

    thisArg
    Der Wert von this, der für den Aufruf der Funktion fun bereitgestellt wird. Beachten Sie, dass this möglicherweise nicht der Wert ist, den die Methode sieht: Wenn die Methode eine Funktion in non-strict mode Code ist, werden null und undefined mit dem globalen Objekt ersetzt und primitive Werte werden in ein Hüllobjekt umgewandelt ("eingepackt").
    arg1, arg2, ...
    Argumente für das Objekt.

    Beschreibung

    Beim Aufruf einer existierenden Funktion können Sie für this ein neues Objekt zuweisen. this verweist auf das aktuelle Objekt, also das aufrufende Objekt. Mit call können Sie eine Methode schreiben und an ein anderes Objekt vererben, ohne die Methode für das neue Objekt neuzuschreiben.

    Beispiele

    Beispiel: Nutzung von call, um Konstruktoren für ein Objekt zu verketten

    Sie können call nutzen, um Konstruktoren für ein Objekt, ähnlich wie in Java, zu verketten. Im folgenden Beispiel wird der Konstruktor für das Product Objekt mit zwei Parametern, name und price, definiert. Zwei andere Funktionen Food und Toy rufen Product auf und übergeben this name und priceProduct initialisiert die Eigenschaften name und price und beide speziellen Funktionen definieren category.

    function Product(name, price) {
      this.name = name;
      this.price = price;
    
      if (price < 0) {
        throw RangeError('Cannot create product ' +
                          this.name + ' with a negative price');
      }
    
      return this;
    }
    
    function Food(name, price) {
      Product.call(this, name, price);
      this.category = 'food';
    }
    
    Food.prototype = Object.create(Product.prototype);
    
    function Toy(name, price) {
      Product.call(this, name, price);
      this.category = 'toy';
    }
    
    Toy.prototype = Object.create(Product.prototype);
    
    var cheese = new Food('feta', 5);
    var fun = new Toy('robot', 40);
    

    Beispiel: Nutzung von call zum Aufruf einer anonymen Funktion

    In diesem komplett konstruierten Beispiel erstellen wir eine anonyme Funktion und nutzen call, um diese für jedes Objekt in einem Array aufzurufen. Der Hauptnutzen für die Nutzung anonymer Funktionen hier, ist das hinzufügen einer Print-Funktion für jedes Objekt, welche den rechten Index des Objekts in dem eingegebenen Array ausgeben kann. Die Übergabe der Objekte als this-Wert ist nicht zwingend notwendig, wird aber zur Erklärung gemacht.

    var animals = [
      { species: 'Lion', name: 'King' },
      { species: 'Whale', name: 'Fail' }
    ];
    
    for (var i = 0; i < animals.length; i++) {
      (function(i) {
        this.print = function() {
          console.log('#' + i + ' ' + this.species
                      + ': ' + this.name);
        }
        this.print();
      }).call(animals[i], i);
    }
    

    Spezifikationen

    Specification Status Comment
    ECMAScript 3rd Edition. Standard Initiale Definition. Implementiert in JavaScript 1.3.
    ECMAScript 5.1 (ECMA-262)
    Die Definition von 'Function.prototype.call' in dieser Spezifikation.
    Standard  
    ECMAScript 6 (ECMA-262)
    Die Definition von 'Function.prototype.call' 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)

    Weitere Informationen

    Schlagwörter des Dokuments und Mitwirkende

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