为了账号安全,请及时绑定邮箱和手机立即绑定

Object.prototype.toString.call('str') 这句代码是如何判断类型的

Object.prototype.toString.call('str') 这句代码是如何判断类型的

jeck猫 2019-03-12 17:15:42
Object.prototype.toString.call(变量)这行代码可以判断任何变量的类型,是如何做到的?内部机理?
查看完整描述

2 回答

?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

Object.prototype.toString 是内部实现(Intrinsic Object) %ObjProto_toString% ,它是属于 %ObjectPrototype%。

可以判断类型是因为 %ObjProto_toString% 的实现是这样的,里面规定了各种类型返回什么样的字符串。

所有对象都继承 %ObjectPrototype% ,一般都会重写覆盖其 toString 方法,用 call 是为了使用原型上面的方法,保证是调用 %ObjProto_toString% 。


查看完整回答
反对 回复 2019-03-17
?
慕沐林林

TA贡献2016条经验 获得超9个赞

参考 使用toString()检测对象类型

算是内部机理,因为js中万物皆对象,因此每种类型的变量打印出来的结果不同


查看完整回答
反对 回复 2019-03-17
  • 2 回答
  • 0 关注
  • 567 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号