U E D R , A S I H C RSS

안혁준/class.js

Difference between r1.10 and the current

@@ -1,7 +1,7 @@
== 개요 ==
Javascript에서 클래스를 묘사하기 위한 방안.

마음대로 가져가면 가만 안둠.
~~마음대로 가져가면 가만 안둠.~~ MIT라이선스 입니다.
----
== 소스코드 ==
{{{


개요

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;
};

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:30:20
Processing time 0.0380 sec