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

JavaScript的instanceof问题?

JavaScript的instanceof问题?

MMTTMM 2018-07-13 12:58:18
instanceof 检测一个对象A是不是另一个对象B的实例的原理是:查看对象B的prototype指向的对象是否在对象A的[[prototype]]链上。那"".__proto__===String.prototypetrue"" instanceof StringfalseString.prototype明明在“”的原型链上 为什么是false
查看完整描述

3 回答

?
慕丝7291255

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

问题的根源出在第一句. "" 字面字符串是原始类型, 没有属性和方法. 所以 javascript 会有一个行为叫 autobox 来把原始对象临时的转为相应的包裹对象.

"".__proto__===String.prototype

这里实际是这样的

new String("").__proto__ === String.prototype


查看完整回答
反对 回复 2018-07-19
?
ibeautiful

TA贡献1993条经验 获得超5个赞

对字符串字面量进行点操作时回转换成string实例吧

查看完整回答
反对 回复 2018-07-19
  • 3 回答
  • 0 关注
  • 188 浏览

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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