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