Heim  >  Artikel  >  Web-Frontend  >  Eine Erklärung des Formats und der Pfeilfunktionen in js und des Unterschieds zu gewöhnlichen Funktionen

Eine Erklärung des Formats und der Pfeilfunktionen in js und des Unterschieds zu gewöhnlichen Funktionen

不言
不言Original
2018-09-10 17:24:482858Durchsuche

Der Inhalt dieses Artikels befasst sich mit dem Format und den Unterschieden zu normalen Funktionen. Ich hoffe, dass er für Sie hilfreich ist.

Format der Pfeilfunktion

// ES5
var selected = allJobs.filter(function (job) {
  return job.isSelected();
});

// ES6 箭头函数
var selected = allJobs.filter(job => job.isSelected());

// ES6
$("#confetti-btn").click(event => {
  playTrumpet();
  fireConfettiCannon();
});

1. Um eine Funktion mit mehreren Parametern (oder ohne Parameter oder Standardwerte oder destrukturierte Parameter) zu schreiben, fügen Sie Klammern um die Parameterliste hinzu.
2. Pfeilfunktionen mit Blöcken geben nicht automatisch Werte zurück. Bitte verwenden Sie die Return-Anweisung.
3. Bei der Verwendung von Pfeilfunktionen zum Erstellen gewöhnlicher Objekte ist eines zu beachten. Schließen Sie Objekte immer in Klammern ein:

dies zeigt auf

Pfeilfunktionen haben keinen eigenen this-Wert. Werte innerhalb dieser Pfeilfunktionen werden immer vom umschließenden Bereich geerbt.

Für Methoden, die mit der object.method()-Syntax aufgerufen werden, verwenden Sie Nicht-Pfeilfunktionen. Diese Funktionen erhalten vom Aufrufer einen aussagekräftigen Wert. Alles andere verwendet Pfeilfunktionen.

{
  ...
  addAll: function addAll(pieces) {
    var self = this;
    _.each(pieces, function (piece) {
      self.add(piece);
    });
  },
  ...
}

// ES6
{
  ...
  addAll: function addAll(pieces) {
    _.each(pieces, piece => this.add(piece));
  },
  ...
}

Der Unterschied zwischen Pfeilfunktionen und gewöhnlichen Funktionen

Es gibt einen weiteren kleinen Unterschied zwischen Pfeil- und Nicht-Pfeilfunktionen: Pfeilfunktionen haben kein eigenes Argumentobjekt.

Gewöhnliche Funktionen:
1. Wenn eine Funktion als globale Funktion aufgerufen wird, zeigt dies auf das globale Objekt
2. Wenn eine Funktion als Methode in einem Objekt aufgerufen wird, zeigt dies auf das Objekt
3. Wenn eine Funktion als Konstruktor verwendet wird, zeigt dies auf das neue Objekt, das aus dem Konstruktor new kommt
4 Sie können den Punkt davon auch durch Aufruf, Anwenden und Binden ändern 🎜>

1. Die Pfeilfunktion hat dies nicht, und dies ist die nächstgelegene Nicht-Pfeilfunktion der übergeordneten Funktion und kann die Richtung davon nicht ändern.

2. Die Pfeilfunktion hat keine Super-
3. Die Pfeilfunktion hat keine Argumente.
Die Pfeilfunktion hat keine new.target-Bindung.
5. Neu kann nicht verwendet werden
Es gibt keinen Prototyp
7. Doppelte benannte Parameter werden nicht unterstützt.

Verwandte Empfehlungen:

Beantworten Sie diese Frage in der ES6-Pfeilfunktion

Detaillierte Erklärung der JavaScript-Pfeilfunktion

Das obige ist der detaillierte Inhalt vonEine Erklärung des Formats und der Pfeilfunktionen in js und des Unterschieds zu gewöhnlichen Funktionen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn