JavaScript:关于原型

无论什么时候,只要创建了一个新函数,就会根据一组特定的规则为该函数创建一个prototype属性,这个属性指向函数的原型对象。

在默认情况下,所有原型对象都会自动获得一个constructor(构造函数)属性,这个属性是一个指向prototype属性所在函数的指针。

首先,定义一个函数。

function Person() {
}

然后,打印它的原型。

console.log('Person.prototype ==> ', Person.prototype);

控制台输出如下:

可以看到,创建了自定义的构造函数之后,其原型对象默认只会取得constructor属性;其他方法都是从Object继承而来的。

当调用构造函数创建一个新实例后,该实例的内部将包含一个指针 [ [ Prototype ] ],指向构造函数的原型对象。

这个连接是存在于实例和构造函数的原型对象之间,而不是存在于实例与构造函数之间。

var person1 = new Person();
console.log('person1._proto_ ==> ', person1.__proto__);

控制台输出如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值