prototype优点

 每个函数就是一个对象(Function),函数对象都有一个子对象 prototype对象,类是以函数的形式来定义的。(函数都有prototype属性)

优点1:节省空间

	function Person(_name){
		this.name=_name;
		this.SayHello=function(){
			alert('hi,'+this.name);
		}
	}
	var p1=new Person('Tom');
	var p2=new Person('Jack');

p1,p2都有各自name,SayHello属性.

	function Person(_name){
		this.name=_name;		
	}
	Person.prototype.SayHello=function(){
		alert('hi,'+this.name);
	}
	var p1=new Person('Tom');
	var p2=new Person('Jack');

	p1.SayHello();

改进后,p1本身只有name属性,调用SayHello时,去它的原型链中寻找,p1与p2共享同一个SayHello.

优点2:面向对象的设计思想

	function Teacher(_name){
		this.name=_name;
	}
	Teacher.prototype=Person.prototype;
	
	var t=new Teacher('Tomas');
	t.SayHello();

Teacher类继承Person类.将Teacher的原型链指向Person的原型链.Teacher则拥有了Person原型属性.

个人理解,希望大家指正!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值