1.定义:原型是function对象的一个属性,它定义了构造函数制造出的对象的公共祖先.通过该构造函数产生的对象,可以继承该原型的属性和方法.原型也是对象
2.利用原型特点和概念,可以提取公共属性
3.对象如何查看原型 --> 隐式属性 __proto__
4.对象如何查看对象的构造函数 --> constructor
原型上的坑
1.
Person.prototype.name = 'sunny';
function Person(){
}
let person = new Person();
Person.prototype = {
name : 'cherry'
}
console.log(person.name)//sunny
// 解释
// Person.prototype.name = 'sunny';
// person.__proto__ = Person.prototype;
// Person.prototype = {}
// person.name访问的原来的引用地址
Person.prototype.name = 'sunny';
function Person(){
}
Person.prototype = {
name : 'cherry'
}
var person = new Person()
console.log(person.name) //cherry
//解释 因为在new之前 下面的Person.prototype已经替换上面的Person.prototype