好久没记了有点忘记了,来记录一下。
1、函数和对象的关系:对象都是通过函数创建的,函数也是一个对象。
2、原型和原型链
1.原型:原型分为两种
- prototype:每一个函数都会有prototype属性,它指向函数的原型对象,被称为
显式原型
- proto:每一个实例对象都会有__proto__属性,它指向创建该对象的函数的原型对象,被称为
隐式原型
。
2.原型链:每个对象都有一个_proto_,它指向创建该对象的函数的原型对象;然后这个原型对象又有一个_proto_,指向创建它的函数的原型对象,这样逐层深入直到顶层对象Object的原型对象,这就形成了一个原型链。
3、Function和Object
1.Function是最顶层的构造函数,它创建了所有的函数,包括它自己
2.Object是最顶层的对象,所有对象都继承Object的原型对象,它也是被Function创建出来的
4、分类:
1.普通的函数和对象:
(1)函数.prototype:指向函数的原型对象。
(2)函数.proto===Function.prototype
(3)函数.prototype.proto===Object.prototype
(4)对象.proto:指向创建该对象的函数的原型对象。
2.顶层的函数和对象:
(1)Object.proto===Function.prototype
(2)Object.prototype.proto===null
(3)Function.proto===Function.prototype
(4)Function.prototype.proto===Object.prototype
原文链接:https://blog.csdn.net/qq_27984747/article/details/127399888