JS中的原型

1、所有的函数都天生自带一个属性:prototype(原型), 它是一个对象数据类型的值,在当前prototype对象中,存储了类需要给其实例使用的公有的属性和方法


2、prototype这个对象,浏览器会默认为其开一个堆内存,在这个堆内存中天生自带一个属性:constructor(构造函数),这个属性存储的值就是当前函数本身


3、每一个类的实例(每一个对象)都天生自带一个属性:__proto__,属性值是当前对象所属类的原型(prototype)


function Fn(name,age){
    this.name=name;
    this.age=age;
    this.say=function(){
        console.log('my name is '+this.name+' !i am '+this.age+' years old!');
    }
}
Fn.prototype.say=function(){
    console.log('hello world~');
};
Fn.prototype.eat=function(){
    console.log('i love food~');
};
var f1=new Fn('张三',19);
var f2=new Fn('李四',69);


3.png