【发布时间】:2012-11-02 04:03:45
【问题描述】:
谁能向我解释以下代码中发生了什么?我理解 include() 和 exclude() 的含义,但是我们什么时候以及为什么要使用特定的函数呢?
var Class = function () {
var klass = function () {
this.init.apply(this, arguments);
};
klass.prototype.init = function () {};
klass.fn = klass.prototype;
//shortcut to access class
klass.fn.parent = klass; //where do we use it?
//adding class properties
klass.extend = function (obj) {
var extended = obj.extended; //what is happening here?
for (var i in obj) {
klass[i] = obj[i];
}
if (extended) extended(klass) //didn't understand this part
};
//adding instance properties
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; // is this same as: var Person = new Class();
【问题讨论】:
-
您是从
Prototype.js获得的吗?如果您知道这段代码何时可以解决特定问题,那么掌握或理解并不是那么复杂。一个问题:What do you want this code to do?
标签: oop javascript javascript-framework