js动态创建类和实例化
IN:前端开发 标签: class, instance, js 评论: 0 在js中,创建一个类和实例化该类一般方式是: var cls = function(){} 这种方式简单明了,但如果类很多的话就比较痛苦了,并且代码看起来不够优化。 动态创建类实际上类似于一种代理的模式,代码如下: var Fath = function(methods){ 创建一个类:
cls.prototype = {
attr:”,
method:function(){}
}
var clsInstance = new cls;动态创建类
var cls = function(){
return new fn(arguments);
},
fn = function(args){
return this.init && this.init.apply && this.init.apply(this,args);
};
fn.prototype = cls.prototype = methods || {};
try{
return cls;
}finally{
cls = null;
}
}
var TestClass = Fath(methods) //这里的methods是方法或者属性集合,是一个静态对象
实例化该类:
var testInstance = TestClass(params) //这里的params是传进去的形参
通过这种方式后,一个好处就是实例化类的时候不用再使用new了,当然使用new也是可以的,作用的等价的。避免了到处是new和prototype的好处。
性能上在1K数量级上没有很大的区别。
02-24
2010
