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

并不是所有的原型链上都有object.proto?

举个例子?

正在回答

3 回答

正如图所显示,Object.prototype是所有对象的原型链最末端(在这里还找不到方法或属性就是真的找不到了),而这个末端指向了null。

console.log(typeof null);// object

null是一个对象,是终点。所以null没有原型__proto__了,也不会有任何方法了。

0 回复 有任何疑惑可以回复我~

刚刚我去补习了一下这个知识,null的存在是为了访问Object.prototype.__proto__的时候不发生异常,这是它存在的一个原因之一,你没法儿访问(因为是空的),同时也完善了原型链,因为“空”也是一个对象,而原型链上只有对象。

0 回复 有任何疑惑可以回复我~

null没有任何属性,事实上如果不刻意创建某个对象继承自NULL的情况下,Object.prototype的原型链在浏览器中是可以看到constructor指向的是function Object()的,而function Object()有__proto__属性,隐式指向function (),而function ()的__proto__属性就是Object.prototype了。

总结,Object.prototype是所有对象的根,而继承自null的对象没有任何东西。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript深入浅出
  • 参与学习       281113    人
  • 解答问题       1020    个

由浅入深学习JS语言特性,且解析JS常见误区,从入门到掌握

进入课程

并不是所有的原型链上都有object.proto?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信