Консоль Chrome devtools: см. ToString представление объекта? - PullRequest
6 голосов
/ 04 февраля 2012

После сбоя Firefox (FireBug) в 30-й раз во время отладки (я на Ubuntu), я решил использовать Chrome.По большей части это здорово.У меня только одна большая проблема.В FireBug, когда вы регистрируете что-то на консоли, вы всегда получаете строковое представление объекта.В результате имеет смысл реализовать toString на большинстве ваших прототипов, позволяя отображать наиболее важную информацию в любое время, когда объект появляется в любом месте на панелях разработчика или консоли.

Если мой код регистрирует следующее:

console.log(bill_gates);

Я не хочу, чтобы первое представление моего объекта в консоли было:

Object

, когда оно могло бы быть:

Person{Bill Gates, Microsoft Founder, dob: Oct 28}

И яне должно быть двойной регистрации всего, чтобы компенсировать этот недостаток:

console.log(bill_gates, bill_gates.toString());

Кроме того, двойная регистрация не помогает, когда вы углубляетесь в объект и обнаруживаете, что ваш объект состоит из других объектов, которыевсе помечены как «Объект».

Представьте себе, что вы идете на вечеринку, где каждый значок с именем «Лицо».Что я хочу, так это немного подробнее о личности этого человека, возможно, «Нед Кэмпбелл, Риэлтор» или «Сью Брэдшоу, страховые продажи».В FireBug ваши объекты носят пользовательские значки имен (на основе вашей реализации toString).В Chrome все ваши объекты носят значки с именами «Объект».Вы должны тратить время на опрос объекта (углубляясь в его свойства и методы), чтобы выяснить, с каким объектом вы имеете дело.Какая трата.

Это для меня является ОСНОВНЫМ упущением в дизайне превосходных Chrome Devtools.Есть ли способ (возможно, расширение), чтобы Devtools показывал строковые представления объектов (где бы они ни появлялись), как это делает FireBug?

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Относительно второй части вашего вопроса: да, в Web Inspector подана ошибка (в багзилле WebKit.) Не стесняйтесь CC самостоятельно (после того, как вы там зарегистрировались).

0 голосов
/ 06 февраля 2012

В отладчике Eclipse для Chrome из ChromeDevTools для Java у вас есть представление toString() (во всех представлениях переменных / выражений).

Однако у вас нет доступа коттуда консоль или дерево DOM, только для кода JavaScript.

...