2012-01-17 14 views
16

一つは、次の結果を与えていますか? (これは、いくつかのjQueryオブジェクトのアラートです。)[オブジェクトオブジェクト]は何を意味していますか?</p> <pre><code>[object Object] </code></pre> <p>が、これは正確に何を意味して:(JavaScriptの)私のアラートの

+0

[[オブジェクトオブジェクト\]の意味は何ですか?](http://stackoverflow.com/q/4750225/1048572) – Bergi

答えて

23

これは、オブジェクトのインスタンスに警告することを意味します。オブジェクトがalertの場合、オブジェクトに対してtoString()が呼び出され、デフォルトの実装では[object Object]が返されます。

var objA = {}; 
var objB = new Object; 
var objC = {}; 

objC.toString = function() { return "objC" }; 

alert(objA); // [object Object] 
alert(objB); // [object Object] 
alert(objC); // objC 

オブジェクトを検査する場合、あなたはそれのいずれかのはずconsole.logJSON.stringify()それは、またはそれは性質だ上で列挙し、for inを使用してそれらを個別に点検します。

4

alert()関数はオブジェクトを読みやすいように出力できません。代わりにconsole.log(オブジェクト)を使用して、ブラウザのコンソールを起動してデバッグしてください。

+0

このコメントは、私が把握しようとしていたものに完全に答えるものです。 –

3

私はこの回答を他の質問に書いていましたが、すぐに答えを出したいと思います。ここには私の答えがあります。私の2セントと、他の人が何らかの形で助けてくれることを願っています。

@Mattが[object object]の理由で答えたので、JSON.stringify(JSONobject)console.log(JSONobject)という3つのオプションがあるか、またはオブジェクトの繰り返しになります。次の基本的な例を見てください。

var jsonObj={ 
    property1 : "one", 
    property2 : "two", 
    property3 : "three", 
    property4 : "fourth", 
}; 

var strBuilder = []; 
for(key in jsonObj){ 
     if (jsonObj.hasOwnProperty(key)) { 
     strBuilder.push("Key is " + key + ", value is " + jsonObj[key] + "\n"); 
    } 
} 

alert(strBuilder.join("")); 

https://jsfiddle.net/b1u6hfns/

0

アラートは、オブジェクトを表示するための最良のではありません。 console.logを試してみますか?それでもコンソールにオブジェクトオブジェクトが表示されている場合は、このようなJSON.parseを使用します。>var obj = JSON.parse(yourObject); console.log(obj)

+0

いいえ、「JSON.parse」は役に立ちません。 – Bergi

関連する問題