函数继承与原型链

本文介绍了JavaScript中如何通过原型链实现继承。详细解释了构造函数、原型对象及其实例之间的关系,并展示了如何定义方法和属性在原型上供实例使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、实现函数继承主要依赖于原型链,在创建实例时,实例有一个内部属性prototype指向原型对象,原型对象内的所有方法会被该实例使用。(构造函数创建之后,会生成原型对象prototype,原型对象也会有一个指针constructor指向构造函数)

function person() {

}
person.prototype.x=10;
person.prototype.y=20;
person.prototype.z=30;
person.prototype.xx=function () {
    alert("我是xx!")
}
var student=new person();
console.log(student.z)
console.log(student.xx)  // function(){alert("我是xx!")}
console.log(student.xx()) // 我是xx!

2、原型链:首先创建一个构造函数,在构造函数上默认生成一个prototype属性并指向原型对象。使用下一个构造函数的原型对象作为该构造函数的实例,既:nextFunction.prototype=new thisFunction();

*生成的实例对象有一个__proto__属性也会指向原型, __ptoto__属性不是标准, 但是大多数浏览器都实现了这一属性.

所有的对象都有原型,最终都会回到object.prototype(object构造函数的prototype属性),object.prototype的原型为空(null)。

 

 


 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值