Movatterモバイル変換


[0]ホーム

URL:


MDN Web Docs

Experiment: Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.

Function

BaselineWidely available *

DasFunction-Objekt stellt Methoden fürFunktionen bereit. In JavaScript ist jede Funktion tatsächlich einFunction-Objekt.

Konstruktor

Function()

Erstellt ein neuesFunction-Objekt. Der direkte Aufruf des Konstruktors kann Funktionen dynamisch erstellen, leidet jedoch unter Sicherheits- und ähnlichen (aber weit weniger signifikanten) Leistungsproblemen wieeval(). Im Gegensatz zueval() erstellt derFunction-Konstruktor jedoch Funktionen, die nur im globalen Geltungsbereich ausgeführt werden.

Instanz-Eigenschaften

Diese Eigenschaften sind aufFunction.prototype definiert und werden von allenFunction-Instanzen geteilt.

Function.prototype.argumentsVeraltetNicht standardisiert

Repräsentiert die an diese Funktion übergebenen Argumente. Beistrict, Pfeil-, asynchronen und Generator-Funktionen löst der Zugriff auf diearguments-Eigenschaft einenTypeError aus. Verwenden Sie stattdessen dasarguments-Objekt innerhalb von Funktionsabschlüssen.

Function.prototype.callerVeraltetNicht standardisiert

Repräsentiert die Funktion, die diese Funktion aufgerufen hat. Beistrict, Pfeil-, asynchronen und Generator-Funktionen löst der Zugriff auf diecaller-Eigenschaft einenTypeError aus.

Function.prototype.constructor

Die Konstrukturfunktion, die das Instanzobjekt erstellt hat. BeiFunction-Instanzen ist der Anfangswert derFunction-Konstruktor.

Diese Eigenschaften sind eigene Eigenschaften jederFunction-Instanz.

displayNameNicht standardisiertOptional

Der Anzeigename der Funktion.

length

Gibt die Anzahl der von der Funktion erwarteten Argumente an.

name

Der Name der Funktion.

prototype

Wird verwendet, wenn die Funktion als Konstruktor mit demnew-Operator verwendet wird. Es wird das neue Prototypobjekt des Objekts.

Instanzmethoden

Function.prototype.apply()

Ruft eine Funktion mit einem gegebenenthis-Wert und optionalen Argumenten auf, die als Array (oder einArray-ähnliches Objekt) bereitgestellt werden.

Function.prototype.bind()

Erstellt eine neue Funktion, die, wenn sie aufgerufen wird, ihrthis-Schlüsselwort auf einen bereitgestellten Wert gesetzt hat, optional mit einer bestimmten Sequenz von Argumenten, die den beim Aufruf der neuen Funktion bereitgestellten Argumenten vorangestellt werden.

Function.prototype.call()

Ruft eine Funktion mit einem gegebenenthis-Wert und optionalen Argumenten auf.

Function.prototype.toString()

Gibt einen String zurück, der den Quellcode der Funktion darstellt. Überschreibt dieObject.prototype.toString Methode.

Function.prototype[Symbol.hasInstance]()

Gibt das Standardverfahren an, um zu bestimmen, ob eine Konstrukturfunktion ein Objekt als eine ihrer Instanzen erkennt. Wird vominstanceof-Operator aufgerufen.

Beispiele

Unterschied zwischen Function-Konstruktor und Funktionsdeklaration

Funktionen, die mit demFunction-Konstruktor erstellt wurden, erstellen keine Closures zu ihren Erstellungskontexten; sie werden immer im globalen Geltungsbereich erstellt. Beim Ausführen können sie nur auf ihre eigenen lokalen Variablen und globale Variablen zugreifen, nicht auf die Variablen aus dem Geltungsbereich, in dem derFunction-Konstruktor erstellt wurde. Dies unterscheidet sich von der Verwendung voneval() mit Code für einen Funktionsausdruck.

js
// Create a global property with `var`var x = 10;function createFunction1() {  const x = 20;  return new Function("return x;"); // this `x` refers to global `x`}function createFunction2() {  const x = 20;  function f() {    return x; // this `x` refers to the local `x` above  }  return f;}const f1 = createFunction1();console.log(f1()); // 10const f2 = createFunction2();console.log(f2()); // 20

Während dieser Code in Webbrowsern funktioniert, wirdf1() in Node.js einenReferenceError erzeugen, dax nicht gefunden wird. Dies liegt daran, dass der oberste Bereich in Node nicht der globale Bereich ist undx lokal für das Modul sein wird.

Spezifikationen

Specification
ECMAScript® 2026 Language Specification
# sec-function-objects

Browser-Kompatibilität

Siehe auch

MDN-Feedback-Box

Diese Seite wurde automatisch aus dem Englischen übersetzt.


[8]ページ先頭

©2009-2025 Movatter.jp