U E D R , A S I H C RSS

안혁준/class.js

개요

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 2015-03-13 03:44:35
Processing time 0.0884 sec