构造函数使用原型的好处

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()
 
函数内没有方法,不占用内存空间
 
 
 
posted @ 2019-05-19 22:11  一只大鹅  阅读(265)  评论(0编辑  收藏  举报