要弄懂原型链,首先应先明白prototype原型对象、__proto__、对象三者之间的关系。

引入构造函数的相关定义:

  构造函数是一种比较特殊的函数,用于批量实例化对象。通俗一点说,构造函数是用于生成对象的模板

由于工厂模式在实例化对象时会存在同一功能代码在内存中开辟不同内存空间从而造成内存空间浪费的问题,更多的人选择使用构造函数来实例化对象,es6中引进的class关键字正是基于构造函数的思想

构造函数的本质上是将对象中一些公共的方法和属性 抽取出来,然后将这个函数封装成可复用的构造函数.

 构造函数的特点(与工厂函数相比较):    

    a. 函数名首字母大写;

    b.  函数体内没有关键字new,在实例化一个对象时会使用关键字new;

    c.  构造函数体内的this指代当前实例化对象;

    d.   函数体内没有关键字return。

1
2
3
4
5
6
7