Sie lesen die englische Version dieses Inhalts, da für dieses Gebietsschema noch keine Übersetzung vorhanden ist. Helfen Sie uns, diesen Artikel zu übersetzen!
Reflect
.apply()
ruft eine Zielfunktion mit den spezifizierten Parametern auf.The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
Syntax
Reflect.apply(target, thisParameter, listeDerArgumente)
Parameter
- target
- Die Funktion, die aufgerufen werden soll.
- thisParameter
- Der Wert von
this
der für den Aufruf bereitgestellt wird. - listeDerArgumente
- Ein Array ähnliches Objekt welches die Parameter spezifiziert, mit denen die Zielfunktion aufgerufen wird.
Rückgabewert
Das Resultat des Aufruft, der Zielfunktion mit dem mitgegebenen this
und den mitgegebenen Parametern.
Ausnahmen
Es wird ein TypeError
geworfen, wenn die Zielfunktion nicht aufrufbar ist.
Beschreibung
In ES5, ruft man typischerweise Function.prototype.apply()
auf, um eine Funktion aufzurufen, der man einen bestimmten this
mitgeben und die Parameter als Array (oder einem array-like object) definieren möchte.
Function.prototype.apply.call(Math.floor, undefined, [1.75]);
Durch Reflect.apply
wird dieses Vorhaben kürzer und ist leichter zu verstehen.
Beispiele
Verwendung von Reflect.apply()
Reflect.apply(Math.floor, undefined, [1.75]); // 1; Reflect.apply(String.fromCharCode, undefined, [104, 101, 108, 108, 111]); // "hello" Reflect.apply(RegExp.prototype.exec, /ab/, ['confabulation']).index; // 4 Reflect.apply(''.charAt, 'ponies', [3]); // "i"
Spezifikationen
Spezifikation | Status | Kommentar |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) Die Definition von 'Reflect.apply' in dieser Spezifikation. |
Standard | Ursprüngliche Definition. |
ECMAScript Latest Draft (ECMA-262) Die Definition von 'Reflect.apply' in dieser Spezifikation. |
Entwurf |
Browser kompabilität
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apply | Chrome Vollständige Unterstützung 49 | Edge Vollständige Unterstützung 12 | Firefox Vollständige Unterstützung 42 | IE Keine Unterstützung Nein | Opera Vollständige Unterstützung 36 | Safari Vollständige Unterstützung 10 | WebView Android Vollständige Unterstützung 49 | Chrome Android Vollständige Unterstützung 49 | Firefox Android Vollständige Unterstützung 42 | Opera Android Vollständige Unterstützung 36 | Safari iOS Vollständige Unterstützung 10 | Samsung Internet Android Vollständige Unterstützung 5.0 | nodejs Vollständige Unterstützung 6.0.0 |
Legende
- Vollständige Unterstützung
- Vollständige Unterstützung
- Keine Unterstützung
- Keine Unterstützung