最后这个 prototype, 从父类的构造方法返回一个混合后的 父类原型对象. (e.g var prototype = new this()), 这个结果是通过 extend 函数里的for循环.
Class.constructor = Class;
因为我们重写了整个原型对象, 在这个类型中存储这个 原生的构造方法, 让它在一个实例的构造方法中能保持默认形为.
复制代码 代码如下:
Class.extend = arguments.callee;
将赋其自身, 通过 arguments.callee, 在本例中表示 “自身” 其实这里我们可以 避免使用 arguments.callee , 如果我们修改一下我的原生方法(e.g Class.extend = function extend(prop)) 之后我们就可以通过 使用
复制代码 代码如下:
Class.extend = extend;.return Class;
实例之后会返回, 一个原型对象, 一个构造属性, 一个 extend 方法 和一个可自执行的 方法 init.!!!