2012-03-18 30 views
3

如答案in this question建議,您可以覆蓋對象上的toString()方法以在調試期間提供有用的信息(至少)。這很好地工作在Firebug的,但這並不能幫助所有的Chrome:JavaScript中的JavaScript調試 - toString不給我我需要的東西

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] 
+1

爲什麼你不使用console.log() – 2012-03-18 12:56:27

+1

@SheikhHeera:這將如何幫助我的問題? – doublep 2012-03-18 12:58:17

+0

@doublep:你爲什麼不專門稱呼它? 'console.log(x.toString())',如果你想添加可擴展版本,在它之後立即添加'console.log(x)'。這會有幫助嗎? – Tadeck 2012-03-18 13:04:54

回答

-1

您可以使用它像:

console.log(x.toString(), x) 

它會給你的x.toString()的結果,可擴展的表示x在同一行。

+2

當我將'x'展開爲'Object'時,無論屬性值是否實現'toString()',我的屬性都無用'Object'。這是* not *有用。你基本上告訴我如何手動調用方法。 – doublep 2012-03-18 13:19:22

相關問題