最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

FUNCTIONS的继承正在成为一场噩梦

运维笔记admin12浏览0评论

FUNCTIONS的继承正在成为一场噩梦

FUNCTIONS的继承正在成为一场噩梦

我正在经历继承的概念,现在的情况是让我们拥有空构造函数

function Constructor(/* i am an empty function  */ );

现在我们要向Object.prototype添加一个属性并创建一个Constructor函数的实例

Object.prototype.game = "hello i am a game";
 let a =  new Constructor();
 a.game();

现在我们知道输出是“你好我是一个游戏”。因此var继承自Object,因此Constructor函数继承自Object

Constructor.__proto__ === Object.prototype

必须是真的,为什么它会变得虚假

回答如下:

Constructor.proto === Object.prototype

不,这不应该是真的。应该如何是如下:

a.__proto__ === Constructor.prototype

但是(在这种情况下)

Constructor.prototype.__proto__ === Object.prototype

应该是真的。


第一个直接遵循原型定义。从构造函数创建的对象的__proto__属性等于该函数的prototype

第二个事实是Constructor.prototype也是一个对象 - 并且是使用Object构造函数创建的(因此类似于第一种情况,它的__proto__必须等于构造函数的prototype,即Object.prototype)。

PS。但是要直接回答你的问题Constructor.__proto__等于什么,它是Function.prototype(推理可能会像:这是因为Function对象是创建你的Constructor函数的人)。

发布评论

评论列表(0)

  1. 暂无评论