<script type="text/javascript">
//一、使用了new和构造函数创建类,创建一个新类的函数第一步是创建自己的类模拟库
var Class = function(){
	var klass=function(){
		this.init.apply(this,arguments);
		};
	klass.prototype.init=function(){};
	return klass;
	};
	
	var Person = new Class;
	Person.prototype.init = function(){
		//person 的实例进行初始化
		};
		//用法
	var person = new Person;

//二、在javascript中给类添加函数有两种方法,分别是:1、在构造函数中给类添加函数;2、在构造函数的原型上添加实例属性,需要用到prototype

Person.find = function(id){ };//在构造函数中给类添加实例
Person.prototype.breath = function(){ };//在构造函数的原型上添加实例属性,需要用到prototype

Person.fn = Person.prototype;//一种常见的模式是给类的prototype起一个别名fn,写起来更简便
Person.fn.run = function(){ };//此时,Person有fn,find,prototype三个直接方法,它的原型上有run,breath两个方法

//三、上面两种方法不切实际且不够简洁,很难一眼分辨出静态属性和实例属性,所以用到函数extend()和include()来添加属性
var Class = function(){
	var klass = function(){
		this.init.apply(this,arguments);
		};
	    kalss.prototype.init = function(){};
		
		klass.fn = klass.prototype;//定义原型别名
		klass.fn.parent = klass;//定义类的别名
		
		//给类添加属性
		klass.extend = function (obj){
			var extened = obj.extended;
			for(var i in obj){
				klass[i] = obj[i];
				}
			if(extended)extended(klass);
			};
		
	    //给实例添加属性
		klass.include = function (obj){
			var included = obj.included;
			for(var i in obj){
				klass.fn[i] = obj[i];
				}
			if(included)included(klass);
			};
	    return klass;
	};
//使用
var Person = new Class;
Person.extend({
	find: function(id){ },
	exists: function(id){ }
	});

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值