日期:2014-05-16 浏览次数:20510 次
Object.prototype.mysuper = function(){
var caller = arguments.callee.caller,
name;
for(var i in this){
if(this[i] === caller){
name = i;
break;
}
}
__proto = this.__proto__ || this.constructor.prototype;
return __proto[name]();
}
function Class(){
this.name = "class";
this.setName = function(name){
this.name = name;
}
this.getName = function(){
return this.name;
}
}
function Test(){
this.getName = function(){
return 'sub-' + this.mysuper();
}
}
Test.prototype = new Class();
Test.prototype.constructor = Test;
var a = new Test();
alert(a.getName());
Fan.package('Fan.test'); // 创建一个包
// 创建类
Fan.clazz('Fan.test.A', function(){
var a = null; // 私有属性
this.aa = null; // 共有属性
// 构造方法
this.A = function(_a){
$super(); // 调用父类构造方法
a = _a;
};
this.init = function(){
alert2('A:init');
};
this.initEvent = function(){
alert2('A:initEvent');
this.show(1);
};
this.show = function(){
alert2('Fan.test.A');
};
});
&nbs