js打印object对象中拥有的方法名

JavaScript020

js打印object对象中拥有的方法名,第1张

js调试中经常会碰到输出的内容是对象而无法打印的时候,光靠alert只能打印出object标示,却不能打印出来里面的内容,甚是不方便,于是各方面整理总结了如下一个函数,能够将数组或者对象这类的结果一一打印出来,具体代码如下:

function writeObj(obj){ var description = ""for(var i in obj){ var property=obj[i]description+=i+" = "+property+""} }

另外当你需要将object对象转换为string字符串。

object的prototype链中都没有实现自己的toString()的话,

把object转换为String时就会调用Object.prototype.toString,

输出的格式是[object

对象的类型]

例如Object.prototype.toString.call(123)返回"[object

Number]",

Object.prototype.toString.call('str')返回"[object

String]".

使用Object.prototype.toString.call(obj)的方式判断对象类型比用typeof要"准确",

因为typeof

[]会返回"object"而Object.prototype.toString.call([])会返回"[object

Array]"

如果想在调试时查看object里的内容,

可以用console.log(obj)来输出.

在chrome之类的现代浏览器里按下F12打开console可以看到整个obj的结构