qiangD 2017-07-29 09:03 采纳率: 40%
浏览 852

Object.prototype.toString.call 费解的地方

看第一条结果,为啥不是[object Object]费解,求大神解释

 <script>
    var name = {sex: '女'};
    var name2 = {a: 1};
    console.log(Object.prototype.toString.call(name)); // [object String] 按理说这里应该也是[object Object],可以使为啥不是呢?
    console.log(Object.prototype.toString.call({sex: '女'})); // [object Object]

    console.log(Object.prototype.toString.call(name2)); // [object Object]
    console.log(Object.prototype.toString.call({a: 1})); // [object Object]

</script>
  • 写回答

5条回答 默认 最新

  • threenewbee 2017-07-29 13:49
    关注

    如果是string类型,那么toString由特例,是调用的string.toString而不是object.toString,直接返回string,所以object String

    评论

报告相同问题?