toString()和Object.prototype.toString.call() 不一样

var arr=[1,2,3];
arr.toString()//输出“1,2,3”
Object.prototype.toString.call(arr)//输出 "[object Array]"

toString()和Object.prototype.toString.call() 不一样的
首先你要明白Object是js中所有其他数据类型的父类。意思是所有的数据类型都继承了Object。
但是无论是string还是array都是会重写这个tostring方法的。从此处就可以说你用的两者就完全不同。

而且Object.prototype.toString.你要理解这代码的意思。prototype从英文就说了是“原型”的意思。

就是说你这个Object.prototype.toString调用的是object的原型(也就是父类)的tostring方法

posted @ 2019-09-30 14:19  一抹夏忧☆  阅读(1155)  评论(0编辑  收藏  举报