Не стандартно
Эта возможность не является стандартной и стандартизировать её пока никто не собирается. Не используйте её на сайтах, смотрящих во внешний мир: она будет работать не у всех пользователей. Также могут присутствовать большие несовместимости между реализациями и её поведение может в будущем измениться.

Сводка

Свойство function.displayName возвращает отображаемое имя функции.

Описание

Если оно определено, свойство displayName возвращает отображаемое имя функции:

function doSomething() {}

alert(doSomething.displayName); // "undefined"

var popup = function(content) { alert(content); };

popup.displayName = 'Показать всплывающее окно';

alert(popup.displayName); // "Показать всплывающее окно"

Вы можете определить функцию с отображаемым именем в выражении функции:

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

object.someMethod.displayName = 'someMethod';

alert(object.someMethod.displayName); // выведет "someMethod"

try { someMethod } catch(e) { alert(e); }
// ReferenceError: someMethod is not defined

Вы можете динамически изменять свойство displayName функции:

var object = {
  // анонимная функция
  someMethod: function(value) {
    this.displayName = 'someMethod (' + value + ')';
  }
};

alert(object.someMethod.displayName); // "undefined"

object.someMethod('123')
alert(object.someMethod.displayName); // "someMethod (123)"

Примеры

Обычно оно используется консолью и профилировщиком, как обёртка над func.name для отображения имени функции.

Введя следующий пример в консоль, вы должны увидеть что-то вроде "function Моя функция()":

var a = function() {};
a.displayName = 'Моя функция';

a

Спецификации

Не является частью какой-либо спецификации.

Совместимость с браузерами

We're converting our compatibility data into a machine-readable JSON format. This compatibility table still uses the old format, because we haven't yet converted the data it contains. Find out how you can help!

Возможность Chrome Firefox (Gecko) Internet Explorer Opera Safari
Базовая поддержка ? 13 (13) ? ? ?
Возможность Android Chrome для Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Базовая поддержка ? ? ? ? ? ?

 

Метки документа и участники

Метки: 
Внесли вклад в эту страницу: Mingun
Обновлялась последний раз: Mingun,