码迷,mamicode.com
首页 > 其他好文 > 详细

Object.prototype.toString

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

标签:覆盖   拼接   代码   调用   简写   引用   cal   str   object   

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

标签:覆盖   拼接   代码   调用   简写   引用   cal   str   object   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!