首页 > 其他 > 详细

Object.prototype.toString

时间:2017-06-07 20:14:44      阅读:249      评论:0      收藏:0      [点我收藏+]

//由于很多内置对象都拥有覆盖了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

原文:http://www.cnblogs.com/stephen5538/p/6958706.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!