2015-10-05 52 views
-2

在JavaScript函數返回一個對象的情況下,確定它到底是什麼的好方法是什麼?如何確定JavaScript對象已被返回

如果我這樣做:

alert(myFunction(this)); 

我回來只是[object Object],都有些什麼有用的東西,我可以做,以確定它是什麼?

+0

這僅僅是爲了調試,還是你真的希望程序知道一些關於這個對象的細節? – OliverRadini

+2

看故事http://stackoverflow.com/questions/957537/how-can-i-display-a-javascript-object – inic

回答

2

如果調試不使用警報,使用控制檯,而不是

console.log(myFunction(this)); 
console.dir(myFunction(this)); 
console.error(myFunction(this)); 
//etc 

如果你正在試圖確定對象的類型,並根據做的東西它是什麼用typeofinstanceof

使用typeof運算

var something = myFunction(this); 
if(typeof something === "string"){ 
    console.log("It's a string"); 
} 

使用的instanceof

var something = myFunction(this); 
if(something instanceof HTMLElement){ 
    console.log("It's an html element"); 
} 
1

使用console.log方法顯示在控制檯中的數據,而不是警報:

console.log(myFunction(this)); 

在某些瀏覽器可以使用console.dir,這樣你就可以得到關於對象的詳細信息:

console.dir(myFunction(this)); 

var myObj = {foo: 'bar'} 
 

 
alert(myObj); 
 

 
console.log(myObj); //Check your console, you can see the object 
 
console.dir(myObj); //You can see the object with more details

希望這有助於。

0

http://jsfiddle.net/6daL71zd/

可以使用:

1)

console.log(myFunction(this)) 

打印出到控制檯

(這可被訪問通過瀏覽器的開發者工具...鍵盤上的 'F12' 鍵應該打開它)

2)

var output = document.createTextNode(JSON.stringify(myFunction(this))); 
document.body.appendChild(output); 

打印出來的頁面上。