框架部分内容:
var Q= {};
var Quark = Q;
var emptyConstructor = function() {};
/**
* Quark框架的继承方法。
* [@param](/user/param) {Function} childClass 子类。
* [@param](/user/param) {Function} parentClass 父类。
*/
Quark.inherit = function(childClass, parentClass)
{
emptyConstructor.prototype = parentClass.prototype;
childClass.superClass = parentClass.prototype;
childClass.prototype = new emptyConstructor();
childClass.prototype.constructor = childClass;
//Quark.merge(childClass.prototype, parentClass.prototype);
};
引用代码:
var Squirrel = function(props)
{
//extj式的继承
Squirrel.superClass.constructor.call(this, props);
//等价于下面这两个语句:
//Q.DisplayObjectContainer.call(this,props);//Q.DisplayObjectContainer.prototype.constructor.call(this, props);
};
Q.inherit(Squirrel, Q.DisplayObjectContainer);
//申明对象
squirrel = new Squirrel({id:"squirrel", x:200, y:160, autoSize:true});
由此看出: Squirrel.superClass.constructor
=>就相当于父类名 Q.DisplayObjectContainer`
由于JS最原始就是原型链,只要牢记它是原型继承,在此基础上扩展成人们容易理解的展现方式是很好实现的。
感谢一下这个框架的开发者的无私,学习了!
此框架出处:http://quarkjs.com/docs/tutorial_squirrel.html