Thanks to visit codestin.com
Credit goes to developer.mozilla.org

This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

Function.displayName

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

Сводка

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

Описание

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

js
function doSomething() {}

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

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

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

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

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

js
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 функции:

js
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 Моя функция()":

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

a;

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

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

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