lessfish / underscore-analysis

【NO LONGER UPDATE】underscore-1.8.3.js 源码解读 & 系列文章(完)
MIT License
3.96k stars 642 forks source link

你好...在谷歌浏览器中运行`Object.prototype.toString().call(abb)`会报错 //var abb = true #33

Closed ghost closed 6 years ago

ghost commented 6 years ago

天哪原来的issue太暴露智商了... 一种极端情况,在谷歌浏览器中输入:

var abb = true
Object.prototype.toString().call(abb) // Object.prototype.toString(...).call is not a function

是不是可以表明

  // 以及 new Boolean() 两个方向判断
  // 有点多余了吧?
  // 个人觉得直接用 toString.call(obj) 来判断就可以了
  _.isBoolean = function(obj) {
    return obj === true || obj === false || toString.call(obj) === '[object Boolean]';
  };

不能直接用toString.call(obj) === '[object Boolean]'

thisisandy commented 6 years ago

Doge

wangdabaoqq commented 5 years ago

var abb = true Object.prototype.toString().call(abb) 我在控制台试了下首先Object.prototype.toString().call(abb)更正为Object.prototype.toString.call(abb). 更正完以后再进行类型判断是没有问题的。