次のコードで何が起こっているのか、誰か説明してもらえますか? 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();