美文网首页
Object.prototype.toString.call(o

Object.prototype.toString.call(o

作者: 写给猫 | 来源:发表于2019-03-03 21:30 被阅读0次

typeof 不能判断引用型对象的类型,结果都是object。(无法区分自定义对象类型,自定义类型可以采用instanceof区分)


那为什么不直接用obj.toString()

toString为Object的原型方法,而Array ,function等类型作为Object的实例,都重写了toString方法。不同的对象类型调用toString方法时,根据原型链的知识,调用的是对应的重写之后的toString方法(function类型返回内容为函数体的字符串,Array类型返回元素组成的字符串.....),而不会去调用Object上原型toString方法(返回对象的具体类型),所以采用obj.toString()不能得到其对象类型,只能将obj转换为字符串类型;因此,在想要得到对象的具体类型时,应该调用Object上原型toString方法。
toString详解

相关文章

网友评论

      本文标题:Object.prototype.toString.call(o

      本文链接:https://www.haomeiwen.com/subject/tlamuqtx.html