js 的prototype和constructor

js中每个函数(用function定义的对象)都有constructor属性。用new定义的对象和对象直接量({}形式的对象)没有constructor属性。该constructor指向对象的构造函数,有prototype属性,prototype属性指向一个prototype对象:


prototype和constructor相互引用

函数的constructor是 function Function(),而其他方式定义的对象的constructor(如果有的话)是function Object()

在使用new创建对象时会为该对象生成一个内置原型对象,他指向定义该对象的function的prototype对象,因此新创建的对象拥有其构造函数(或类)的prototype的方法。

想定义一个继承自某个对象的对象,只需要把子类prototype设置为父类的一个(实例化)对象。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 工厂模式类似于现实生活中的工厂可以产生大量相似的商品,去做同样的事情,实现同样的效果;这时候需要使用工厂模式。简单...
    舟渔行舟阅读 7,881评论 2 17
  • 特别说明,为便于查阅,文章转自https://github.com/getify/You-Dont-Know-JS...
    杀破狼real阅读 1,167评论 0 4
  • 函数和对象 1、函数 1.1 函数概述 函数对于任何一门语言来说都是核心的概念。通过函数可以封装任意多条语句,而且...
    道无虚阅读 4,665评论 0 5
  • CoordinatorLayout与滚动的处理 CoordinatorLayout实现了多种Material De...
    cxm11阅读 6,633评论 1 15
  • 今天参加了一个小考试,之所以说小,是因为知道自己肯定考不上。 其实这套题不难的,但是要出彩就不容易了呢,尤其是在我...
    yuki雪芽阅读 149评论 0 0