2016-03-21 18 views
1

私はこの/ googleを検索するのが難しいので、この質問をしています。JavaScript [オブジェクト] [オブジェクト]デバッグ

時々javascriptで、私は物事をデバッグしたい。私はそれが私がつらい時、それが持っているものの性質を推測を持っているオブジェクトのか分からない場合は

[object][Object] 

:私はこのような何かを得る非常に頻繁alert(var);またはconsole.log(variable);を書いたがいます。このタイプのオブジェクトを無痛にデバッグする方法は何ですか?そして、ところで、どんなデバッグ方法をお勧めしますか?

私はそれが重複していることを知っています、これは申し訳ありません。これまでに見つかった回答は満足できませんでした。


編集

myObj = {myObjProp: objVal}

[OK]をクリックします。 alert(myObj); =>[object][object]alert(exampleMethod(myObj)); =>{myObjProp: objVal}のような実際のオブジェクトに警告する方法はありますか?

+0

からアクセス。 –

+0

['console.dir()']を試してください(https://developer.mozilla.org/en-US/docs/Web/API/Console/dir) –

+0

これは変です。まったく、 '[object Object]'を得るべきです – Bergi

答えて

1

あなたはobjectを表示する前にprimitive値(string)に変換されること、その後、objectを印刷するalertを使用している場合。したがって、例えばtoPrimitive({})[object Object]となります。そのため、コードをデバッグするときにconsole.log(object)を使用する必要があります。

0

デバッガーステートメントを使用してください。 とあなたがにconsole.log()で、あなたはどちらか右のそれを使用していないか、あなたのデータはすでにその時点で破損していることを取得する場合は、コンソール

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