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]"
无法测试自定义的类型,call()是函数借调
本文探讨了JavaScript中如何准确地判断对象类型。通过Object.prototype.toString.call()方法,可以精确获取对象的具体类型,如Array等,相较于typeof更为准确。

396

被折叠的 条评论
为什么被折叠?



