在javascript函数返回一个对象的情况下,确定它到底是什么的好方法是什么?
如果我这样做:
alert(myFunction(this));
我简单地回到[object Object]
,我可以做些什么来确定它是什么?
答案 0 :(得分:2)
如果调试不使用警报,请改用控制台
console.log(myFunction(this));
console.dir(myFunction(this));
console.error(myFunction(this));
//etc
如果您尝试确定对象的类型并根据使用的内容执行某些操作typeof或instanceof
使用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 :(得分: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
希望这有帮助。
答案 2 :(得分:0)
示例强>: http://jsfiddle.net/6daL71zd/
您可以使用:
<强> 1)强>
console.log(myFunction(this))
打印到控制台
(可以通过浏览器的开发者工具访问...键盘上的“F12”键应该打开它)
<强> 2)强>
var output = document.createTextNode(JSON.stringify(myFunction(this)));
document.body.appendChild(output);
在页面上打印出来。