2012-01-17 3201 views
16

我的一個警示是給下面的結果:[object Object]是什麼意思? (JavaScript的)

[object Object] 

這是什麼意思是什麼呢? (這是一些jQuery對象的提醒。)

+0

另請參見[\ [object Object \]是什麼意思?](http://stackoverflow.com/q/4750225/1048572) – Bergi 2014-11-04 16:16:09

回答

23

這意味着你正在提醒一個對象的實例。當對象被調用時,對象上將調用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

這個評論完美地回答了我想弄明白的東西。 – 2018-02-05 03:48:39

3

我在其他被重複的問題中寫了這個答案,很快我想把答案貼近,所以任何方式都是我的答案。我的兩分錢,並希望其他人以任何方式幫助。

由於@Matt回答了[object object]的原因,所以你有三個選項JSON.stringify(JSONobject)console.log(JSONobject)或迭代該對象,請看下面的基本例子。

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 2018-01-06 17:43:59

相關問題