Non-standard
This feature is non-standard and is not on a standards track. Do not use it on production sites facing the Web: it will not work for every user. There may also be large incompatibilities between implementations and the behavior may change in the future.
The function.displayName
property returns the display name of the function.
Examples
Setting a displayName
It is usually preferred by consoles and profilers over func.name
to display the name of a function.
By entering the following in a console, it should display as something like "function My Function()
":
var a = function() {}; a.displayName = 'My Function'; a; // "function My Function()"
When defined, the displayName
property returns the display name of a function:
function doSomething() {} console.log(doSomething.displayName); // "undefined" var popup = function(content) { console.log(content); }; popup.displayName = 'Show Popup'; console.log(popup.displayName); // "Show Popup"
Defining a displayName in function expressions
You can define a function with a display name in a function expression:
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
Changing displayName dynamically
You can dynamically change the displayName
of a function:
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)"
Specifications
Not part of any standard.
Browser compatibility
Desktop | Mobile | Server | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
displayName | Chrome No support No | Edge No support No | Firefox Full support 13 | IE No support No | Opera No support No | Safari No support No | WebView Android No support No | Chrome Android No support No | Firefox Android Full support 14 | Opera Android No support No | Safari iOS No support No | Samsung Internet Android No support No | nodejs No support No |
Legend
- Full support
- Full support
- No support
- No support
- Non-standard. Expect poor cross-browser support.
- Non-standard. Expect poor cross-browser support.