问题:
Object.prototype.toString.call() 与 对象.toString() 的区别?
分析:
- 新建一个数组对象 i
var i = [{a:1,b:2}]
- 对象.toString() 控制台输出
i.toString() // 打印 "[object Object]"
- Object.prototype.toString.call() 控制台输出
Object.prototype.toString.call(i) //打印 "[object Array]"
从这里我们就可以看出,用 Object.prototype原型对象 能够精确转换出对象类型。
通过这个特点,我们就可以在项目中用它来检测对象的类型。
知识点:
Object.prototype属性表示Object的原型对象。
使用
toString()检测对象类型可以通过
toString()来获取每个对象的类型。为了每个对象都能通过Object.prototype.toString()来检测,需要以Function.prototype.call()或者Function.prototype.apply()的形式来调用,传递要检查的对象作为第一个参数,称为thisArg。
参考资料:
本文详细解析了如何利用Object.prototype.toString.call()与对象.toString()之间的区别来精确检测JavaScript中的对象类型,通过具体示例展示了这一技巧的应用。

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



