JavaScript объекты и типы конструкторов

1

Восстановить объект того же типа

В соответствии с Image Im, пытающимся вернуть этот тип объекта. Инструменты Chrome Dev

Console.log(TabPanel) Дает мне возврат на объект, но я не понимаю, как имя функции

TabPanel: f TabPanel()

следует за символом f в журнале.

Как я могу воссоздать этот тип объекта с помощью простого примера, я попытался использовать конструкторы и прототипы. Я не уверен, как они достигли этого

консольный журнал

Теги:
object
collections
constructor

2 ответа

2
Лучший ответ

Какие devtools показывают вам, что значение свойства TabPanel для объекта, которое вы зарегистрировали, является ссылкой на функцию TabPanel (а не объект, созданный TabPanel, сама TabPanel). Вот пример:

function Example() {
}
var o = {
  ex: Example
};
console.log(o);
Look in the real console.

Это дает нам:

Изображение 174551

  • 1
    Oooohhhhhhhhh Спасибо, это имеет смысл .... Я бы проголосовал за вас, если бы мог
1

Если вы создадите свою функцию с именем, она будет отображаться так же, как на вашей консоли.

const TabPanel = function TabPanel() {};
console.log(TabPanel);

Будет регистрироваться, как вы покажете на скриншоте

Если вы хотите, чтобы это было частью объекта, вы могли бы сделать:

const TabPanel = {
    TabPanel: function TabPanel() { ... }
}

Который будет регистрироваться как объект, который при расширении покажет вам вашу именованную функцию.

  • 0
    Спасибо, но поместите это в объект типа 'TabPanel = {}; TabPanel .TabPanel = (function () {....}); «Вы все еще не видите это в журнале Chrome
  • 1
    Да, при определении функции без имени она не будет отображаться по вашему желанию, потому что у функции нет имени. Обновил мой пример
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню