2016-03-21 76 views
1

我在問這個問題,因爲很難搜索/谷歌它。JavaScript [對象] [對象]調試

有時在JavaScript中,我想調試的東西。我寫alert(var);console.log(variable);但很多時候我得到的是這樣的:

[object][Object] 

如果我不知道什麼對象是我很難猜測什麼屬性,它可能。無痛調試這種類型的對象有哪些方法?順便說一句,你推薦什麼調試方法?

我知道這是重複,對不起。我到目前爲止發現的答案並不令人滿意。


編輯

myObj = {myObjProp: objVal}

確定。 alert(myObj); =>[object][object]。有沒有一種方法可以讓我提醒一個真實的物體,如alert(exampleMethod(myObj)); =>{myObjProp: objVal}

+0

訪問它。如果你與執行console.log(),那麼你要麼不使用它的權利或你的數據是在這一點上已經損壞。 –

+0

嘗試使用['console.dir()'](https://developer.mozilla.org/en-US/docs/Web/API/Console/dir) –

+0

這很奇怪。如果有的話,你應該得到'[object Object]' – Bergi

回答

1

如果使用alert打印的object,那麼object將被轉換成顯示前primitive值(string)。因此,例如toPrimitive({})將是[object Object]。這就是爲什麼你必須在調試你的代碼時使用console.log(object)

0

只需使用調試器語句。 並從控制檯

function potentiallyBuggyCode() { 
    debugger; 
    // do potentially buggy stuff to examine, step through, etc. 
}