构造函数、原型链、原型对象、构造器的理解

一、构造函数、实例化对象

构造函数模式的目的就是为了创建一个自定义类,并且创建这个类的实例。构造函数模式中拥有了类和实例的概念,并且实例和实例之间是相互独立的。

构造函数就是一个普通的函数,创建方式和普通函数没有区别,不同的是构造函数习惯上首字母大写。另外就是调用方式的不同,普通函数是直接调用,而构造函数需要使用new关键字来调用

function后面的方法名 Person 就是一个构造函数,一般首字母大写,需要new实例化;

new之后的对象就是实例化对象,此处的person1,person2就是实例化对象;

二、构造器constructor

每个对象都有一个constructor属性,指向这个对象所在的构造函数,如下:

三、原型prototype

每当定义一个函数数据类型(普通函数、类)时候,都会自带一个prototype属性,这个属性指向函数的原型对象,并且这个属性是一个对象数据类型的值。

原型对象就相当于一个公共的区域,所有同一个类的实例都可以访问到这个原型对象,我们可以将对象中共有的内容,统一设置到原型对象中。

Person.prototype 是Person的原型"对象",所以这个对象也有constructor属性,同样指向Person,所以

可得三者是等同关系,并且都等于Person:

四、原型链__proto__

每一个对象数据类型(普通的对象、实例、prototype......)也天生自带一个属性__proto__指向创建它的构造函数的原型

如下:

Person本身是一个构造"函数",那么创建它的构造函数就是一个Function,所以

Person.prototype 是一个原型"对象",那么创建它的构建函数就是一个Object,所以

换个构造函数名字一样的道理:

最后来个例子:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值