Function.displayName

Kein Standard
Diese Funktion entspricht nicht dem Standard und ist nicht Teil der Standardisierung. Diese Funktion darf nicht in Webseiten, die via das Internet zug├Ąnglich sind, benutzt werden: Sie wird nicht f├╝r alle Nutzer funktionieren. Es kann zu umfangreichen Inkompatibilit├Ąten zwischen verschiedenen Implementierungen kommen und die Funktionsweise oder Eigenschaften k├Ânnten in der Zukunft ver├Ąndert werden.

Die function.displayName Eigenschaft gibt den sichtbaren Namen der Funktion zur├╝ck.

Beschreibung

Wenn definiert, gibt dit displayName Eigenschaft den sichtbaren Namen der Funktion zur├╝ck:

function doSomething() {}

console.log(doSomething.displayName); // "undefined"

var popup = function(content) { console.log(content); };

popup.displayName = 'Show Popup';

console.log(popup.displayName); // "Show Popup"

Man kann eine Funktion mit sichtbaren Namen mit einem Funktionsausdruck definieren:

var object = {
  someMethod: function() {}
};

object.someMethod.displayName = 'someMethod';

console.log(object.someMethod.displayName); // logs "someMethod"

try { someMethod } catch(e) { console.log(e); }
// ReferenceError: someMethod is not defined

Man kann den displayName einer Funktion dynamisch ├Ąndern:

var object = {
  // anonymous
  someMethod: function(value) {
    arguments.callee.displayName = 'someMethod (' + value + ')';
  }
};

console.log(object.someMethod.displayName); // "undefined"

object.someMethod('123')
console.log(object.someMethod.displayName); // "someMethod (123)"

Beispiele

Konsolen und Profiler pr├Ąferieren die func.name zum anzeigen des Namens einer Funktion.

Beim eingeben des Folgenden Quelltextes in der Konsole, wird etwas wie "function My Function()" ausgegeben:

var a = function() {};
a.displayName = 'My Function';

a; // "function My Function()"

Spezifikationen

In keiner Spezifikation enthalten.

Browserkompatibilit├Ąt

BCD tables only load in the browser