一、构造函数
1 定义:当任意一个普通函数用于创建一类对象时,它就被称作构造函数。在 JavaScript 中是指用 new 关键字来调用的函数
2 执行流程:
(1)当以 new 关键字调用时,会创建一个新的内存空间
(2)函数体内部的 this 指向该内存
(3)执行函数体内的代码
(4)默认返回 this
3 在 ES6 中通过class定义的类 和通过构造函数定义的类 二者本质相同。并且在js执行时,会将第一种转会为第二种执行
《JS 中构造函数和普通函数的区别》https://blog.csdn.net/weixin_41796631/article/details/82939585
《构造函数的执行过程》https://www.jianshu.com/p/95a5faee17f1
《ES6 中 class 与构造函数的关系》https://www.cnblogs.com/honkerzh/p/10270624.html
二、原型链
原型:就是当我们创建一个函数的时候,系统就会自动分配一个 prototype(原型)属性,可以用来存储可以让所有实例共享的属性和方法
原型链:每个实例对象( object )都有一个私有属性(称之为 __proto__ )指向它的构造函数的原型对象(prototype )。该原型对象也有一个自己的原型对象( __proto__ ) ,层层向上直到一个对象的原型对象为 null。根据定义,null 没有原型,并作为这个原型链中的最后一个环节。
《JavaScript中的原型与原型链》https://segmentfault.com/a/1190000018895543
《原型和原型链》https://www.cnblogs.com/zhangshilei/p/11079539.html
《继承与原型链》https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Inheritance_and_the_prototype_chain
三、回调函数
A callback is a function that is passed as an argument to another function and is executed