【发布时间】:2012-04-03 05:54:37
【问题描述】:
正如答案in this question 建议的那样,您可以覆盖对象上的toString() 方法以在调试期间(至少)提供有用的信息。这在 Firebug 中运行良好,但在 Chrome 中完全没有帮助:
x = { toString: function () { return 'test' } }
提供了非常有用的输出:
Object
在 Firebug 中它要好得多:
test { toString=function()}
我知道 Chrome 允许我检查对象属性。这很有用,但让对象标题列出至少几个最重要的属性要容易得多,这样您就不必为了找出一个值而挖掘复杂对象的 50 个属性。
那么,是否有可能让 Chrome 中的调试输出更有用?
编辑:
这就是我想要实现的目标:
v [result of ???() on x]
a: 1
b: 'foo'
v c: [result of ???() on x.c]
foo: 'bla bla bla'
> bar: [result of ???() on x.c.bar]
【问题讨论】:
-
为什么不用console.log()
-
@SheikhHeera:这对我的问题有什么帮助?
-
@doublep:你为什么不专门称呼它?
console.log(x.toString()),如果您想添加可扩展版本,请在其后立即添加console.log(x)。这会有帮助吗? -
@Tadeck:不多。在这个用例中
toString()根本没有任何作用,当我检查x的属性时,它们并没有很好地打印出来,同样是无用的Object。 -
@doublep:你能进一步解释一下吗?您正在尝试将
x.toString()结果与对象表示一起显示,但您也说toString()对您没有任何作用。是你关心的主要对象的属性表示吗?