原型链
原型对象:将构造函数中共有的属性和方法添加到构造函数的原型对象中,所有的对象实例就可以访问这些方法。
实例化对象时都会有一个共有__proto__属性指向构造函数的prototype原型对象。之所以我们的对象可以使用构造函数的prototype原型对象的属性和方法,就是因为我们实例化对象有__proto__的存在。构造函数的prototype和实例化对象的__proto__是等价的
方法的查找规则:
首先看实例化对象的有没有该方法,如果有则。。。如果没有就去查看
在对象原型__proto__和构造函数prototype 原型对象里面都有一个constructor属性,constructor指回构造函数本身。主要用于记录该对象引用了哪个构造函数,他可以让原型对象重新指向原来的构造函数。如果修改原来的原型对象,给原型对象赋值的是一个对象,则必须手动利用constructor指回原来的构造函数。
Star.prototype = {
// 如果我们修改了原来的原型对象,给原型对象赋值的是一个对象,则必须手动的利用constructor指回原来的构造函数
constructor: Star,
sing: function() {
console.log('我会唱歌');
},
movie: function() {
console.log('我会演电影');
}
}
构造函数、实例、原型对象的关系、
原型链的查找规则
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。