Difference between r1.6 and the current
@@ -1,4 +1,50 @@
== 개요 ==
Javascript에서 클래스를 묘사하기 위한 방안.
~~마음대로 가져가면 가만 안둠.~~ MIT라이선스 입니다.
----== 소스코드 ==
{{{
/**
* @author Blue Mir
* @email qa22ahj@naver.com
*/
Function.prototype.extend = function(superclass)
{
if(this.prototype.superclass)
throw new SyntaxError("이미 superclass를 가지고 있습니다.");
var proto = new superclass();
for(var p in proto)
{
if(proto.hasOwnProperty(p)) delete proto[p];
}
proto.constructor = this;
proto.superclass = superclass;
this.prototype = proto;
return this;
};
Function.prototype.implement = function()
{
for(var i = 0; i < arguments.length; i++)
{
var implementClass = arguments[i];
for(var p in implementClass.prototype)
{
var fn = implementClass.prototype[p];
if(typeof fn == "function")
{
this.prototype[p] = fn;
}
}
}
return this;
};
}}}
----개요 ¶
Javascript에서 클래스를 묘사하기 위한 방안.
소스코드 ¶
/** * @author Blue Mir * @email qa22ahj@naver.com */ Function.prototype.extend = function(superclass) { if(this.prototype.superclass) throw new SyntaxError("이미 superclass를 가지고 있습니다."); var proto = new superclass(); for(var p in proto) { if(proto.hasOwnProperty(p)) delete proto[p]; } proto.constructor = this; proto.superclass = superclass; this.prototype = proto; return this; }; Function.prototype.implement = function() { for(var i = 0; i < arguments.length; i++) { var implementClass = arguments[i]; for(var p in implementClass.prototype) { var fn = implementClass.prototype[p]; if(typeof fn == "function") { this.prototype[p] = fn; } } } return this; };