为什么a.__proto__.constructor.__proto__.apply不等于a.apply

Js新手 学习原型链过程遇到如下问题
let A = function(){};
let a = new A();
为什么a.__proto__.constructor.__proto__.apply不等于a.apply

阅读 2.1k
2 个回答
a.__proto__.constructor.__proto__.apply === Function.prototype.apply
true

分解一下

a.__proto__.constructor -> A
A.__proto__ -> Function.prototype

a 没有 apply 的属性的吧...

__proto__是一个内部属性,指向构造函数的原型,也就是prototype
a.__proto__ -> A.prototype
a.__proto__.constructor -> A
a.__proto__.constructor.__proto__ -> Function.prototype

A 函数也可以这样写 A = new Function();
A.__proto__ -> Function.prototype

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题