面向对象原型图

面型对象原型图

经典三连

一、所有函数都有prototype属性,指向函数的原型对象;

二、所有实例对象都有__proto__属性,指向构造函数的原型对象;

三、所有原型对象都有constructor属性,指向它的函数。

function Person(name, age, sex){
this.name = name;
this.age = age;
this.sex = sex;
};
Person.prototype = {//将Person的原型指向了一个new对象,该对象是Object的实例化,此时该对象的constructor属性是指向Object的,需要强制指向Person
constructor:Person,
sayHi: function(){
console.log(“定义在原型对象的方法1”);
},
sayHello: function(){
console.log(“定义在原型对象的方法2”);
}
};
var per = new Person(“Tom”, 18, 1);
面向对象原型图