构造函数与原型对象和实例对象的关系
//通过构造函数实例对象,并初始化
//var arr=new Array(10,20,30,40);
//join是方法,实例对象调用的方法
//arr.join("|");
//console.dir(arr);
//join方法在实例对象__proto__原型
//console.log(arr.__proto__==Array.prototype);
//原型的作用之一:共享数据,节省内存空间
//构造函数
function Person(age,sex) {
this.age=age;
this.sex=sex;
}
//通过构造函数的原型添加一个方法
Person.prototype.eat=function () {
console.log("明天中午吃完饭就要演讲,好痛苦");
};
var per=new Person(20,"男");
// per.__proto__.eat();
per.eat();
// per.eat();
//构造函数,原型对象,实例对象之间的关系
console.dir(Person);
//console.dir(per);
结论 构造函数中的prototype 即Person.prototype == 实例对象中的__proto__ 即per.__proto__
两者共用一块内存空间即 per.__proto__指向Person.protoype
而构造函数中的prototype的constructor构造器指向的自身