首页 > 编程知识 正文

原型对象和原型链(原型链继承)

时间:2023-05-06 11:08:00 阅读:82120 作者:4106

我看到一位大神在说JavaScript三座山:

原型和原型链

上下文和范围

与单线程异步

没错。 原型和原型链对JS来说可以说是非常难以理解的内容。 想成为大神,必须翻越这三座山。 今天我们来翻一下第一座山——原型和原型链

首先,记住一句话:

每个函数都有prototype属性。 每个对象都有__proto__属性。

让我们声明函数foo,看看其prototype是什么:

我们在浏览器控制台上得到了结果:

我们熟悉的JS嵌入对象、String、Number、Array等由构造函数定义,在typeof中验证他们都是函数。 既然是函数,就一定有prototype属性。

实际上,prototype属性是指向对象的指针。 如上所述,每个对象都有__proto__属性。

让我们看看Array.prototype.__proto__指的是谁。

我看到大家都指着Object.prototype。 Object.prototype指的是谁呢?

指向了空值。 也就是说,原型链的顶端是空的,“万物皆空”啊。 ^_^

自从原型链通过隐形__proto__链接以来,继承也通过隐形__proto__实现,instanceof也在隐形__proto__级别1上进行搜索今天就简单做这么多吧! 如果在网上调查一下原型和原型链的指向图,我想会得到更深的认识。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。