lang/js

javascript Class

C/H 2013. 6. 12. 14:19

 klass.js



var Person = new Class;var

Person.prototype.init = function(){
	// Person을 인스턴스화할 때 호출된다.
};

// 사용
var person = new Person;


////////////////	상속
var Animal = function(){};

Animal.prototype.breath = function(){
	console.log('breath');
};

var Dog = function(){};

Dog.prototype = new Animal;	// Dog는 Animal을 상속한다.

// Dog는 Animal을 상속한다.
Dog.prototype.wag = function(){
	console.log('wag tail');
};

var dog = new Dog;
dog.wag();
dog.breath();

///////////////		상속기능
var Animal = new Class;

Animal.include({
	breath: function(){
		console.log('breath');
	}
});

var Cat = new Class(Animal);

va tommy = new Cat;
tommy.breath();
// 위에서 extend 를 사용할 경우 문제없이 추가되지만 inlcude를 사용할 경우 추가가되지 않음.
// 크롬에서 테스트 해 보았지만 문제의 원은은 잘 모르겠다

//////////////////////// 함수호출 - 위임
var App = {
	log: function(){
		if( typeof console == 'undefined' ) return;
		
		// 인자를 배열변경
		var args = jQuery.makeArray(arguments);
		
		// 새인자 추가
		args.unshift("(App)");
		
		// console 위임
		console.log.apply( console, args );
	}
};

////////////////////////// 익명함수 전역 노출
(function($, exports){
exports.Foo = "test";
})(jQuery, window);

반응형

'lang > js' 카테고리의 다른 글

javascirpt MVC - 모델  (0) 2013.06.17
javascript 이벤트  (0) 2013.06.14
javascript speed debug  (0) 2013.04.26
javascript Lightweight selector library  (0) 2013.04.17
js window.performence  (0) 2013.04.16