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

被折叠的 条评论
为什么被折叠?



