【发布时间】:2012-02-26 21:57:07
【问题描述】:
在调试期间 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());
除了当您深入到一个对象并发现您的对象由所有标记为“对象”的其他对象组成时,双重记录也无济于事。
想象去参加一个每个人的名牌都写着“Person”的聚会。我想要的是有关此人身份的更多详细信息,可能是“Ned Campbell,房地产经纪人”或“Sue Bradshaw,保险销售”。在 FireBug 中,您的对象佩戴自定义名称徽章(基于您的 toString 实现)。在 Chrome 中,您的所有对象都带有名称徽章,上面写着“对象”。您必须花时间询问对象(深入了解它的属性和方法)以找出您正在处理的对象。真是浪费。
对我来说,这是对原本出色的 Chrome Devtools 设计的重大疏忽。有什么方法(可能是扩展)让 Devtools 像 FireBug 那样显示对象的字符串表示(无论它们出现在哪里)?
【问题讨论】:
标签: google-chrome logging firebug google-chrome-devtools