构造函数使用原型的好处
var Fn = function (a, b) {
this.name = a;
this.age = b;
this.say = function () {
console.log('你好' +this.name );
}
}
var obj1=new Fn('小明',18); //xx01空间 浪费空间
ob1j.say()
var obj2=new Fn('小强',18); //xx02空间 浪费空间
obj2.say()
该构造函数生成的实例所拥有的方法(say)每调用一次都会生成一个新的内存空间
所有函数创建之后都会分配一个原型对象给函数,通过函数的prototype属性,来找到这个函数自己的原型对象
Fn.prototype.say 给原型对象加上一个say属性
var Fn = function (a, b) {
this.name = a;
this.age = b;
}
Fn.prototype.say=function(){
console.log('你好'+this.name);
}
var obj=new Fn('小明',18);
obj.say()
函数内没有方法,不占用内存空间