2

これは、私がここに投稿した質問の延長です。

js オブジェクトの操作に問題があります。スコープまたはオブジェクトの設定方法に関係があると思います。私は Firebug を使用して問題の根底に到達しようとしていますが、説明できない矛盾が 1 つ見つかりました。 コンソールに次のようなオブジェクトが表示されることがある理由を知っている人はいますか? ここに画像の説明を入力

オブジェクトの内容を表示する場所

そして時々このように:

ここに画像の説明を入力

オブジェクトが空であるかのように見える場所

ただし、オブジェクトは空ではありません。上記のスクリーンショットでオブジェクト { }をクリックすると、DOM インスペクターが表示され、そのオブジェクトの内容が十分に表示されます。 ここに画像の説明を入力

言うまでもなく、これは最初の方法 (オブジェクトのキー/値をハードコーディングした方法) では機能しますが、2 番目の方法 (それらを動的に追加する方法) では機能しません。Console がこれら 2 つの一見類似したオブジェクトを異なる方法で表示する理由を理解できれば、コードで問題の原因を突き止めることができるかもしれないと考えています。同様の質問を2回するのが悪い形である場合はお詫びしますが、これはFirebug固有の質問であり、もう1つはjavascript関連であると考えました...

4

1 に答える 1

0

解決済み 振り返ってみると非常に単純で、@ amnotiam は最後のコメントで正しい方向に進んでいたと思います。何が起こっているかというと、オブジェクトが作成されたconsole.log() 、値が追加される前に呼び出しています。それをクリックしてDOMで検査するまでに、すべての値が追加されています。

元の投稿への回答の詳細については、こちらをご覧ください

于 2012-08-01T18:26:31.337 に答える