Object.prototype.toString

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Object.prototype.toString相关的知识,希望对你有一定的参考价值。

//由于很多内置对象都拥有覆盖了Object‘的toString 所以此处使用了Object的toString
//Object.prototype.toString只能获取内置对象的类型 自定义对象获取到都会是"[Object Object]"
//首先通过call方法(此方法可以让一个对象引用另一个对象的方法)调用Object.prototype.toString
//Object.prototype.toString可以获取构造方法中this指向constructionName 拼接为[Object constructionName]此处也可以理解为调用获取到括号中对象的构造函数名称
console.log(Object.prototype.toString.call([]));//[object Array]
console.log(Object.prototype.toString.call(new Date()));//[object Date]
console.log(Object.prototype.toString.call(Array));//[object Function]l(Array也是Function的对象)
console.log(({}).toString.call(Array));//[object Function]

// Object.prototype.toString可以简写为({}).toString.call(..)
// 但是不能写成{}.toString.call(..)
// 因为{}是js中的代码块所以会报错 此时使用()包裹等于就是进行了逻辑运算(var obj={}效果等同 逻辑运算符的效果) 是的({})就变成了对象字面量 所以就可以通过Object的
// 对象获取到它原型中toString方法!











以上是关于Object.prototype.toString的主要内容,如果未能解决你的问题,请参考以下文章

Object.prototype.toString.call()方法

Object----Object.prototype.toString.call()方法的使用

Object.prototype.valueOf()和Object.prototype.toString()

Object.prototype.toString.call()方法

js变量类型判断 严格通用 Object.prototype.toString.call()

从toString()方法到Object.prototype.toString.call()方法