출처 Carpe Diem | 투덜이
원문 http://blog.naver.com/aircook/90005548156


//객체 지향 자바스크립트
//참고서적 : 최범균의 Ajax Programming/최범균/가메출판사

//흠 자바스크립트로 이런게 가능했을줄이야.. Ajax 소스 보다보니까 이해가 안되는것들이 많던데, 이거 한번 정리하고 나니까 대충 이해가 가네.. 자바스크립트 함수를 JSON으로 정의했을줄이야.. 저게 이해가 제일 안되었음.

//역시 한번 정리하는것 하고 안하는것하고의 차이가 있넹.. 역시 간만의 직접 포스팅..

 

//① prototype을 사용해서 자바스크립트 클래스 만들기
//클래스 정의

클래스명 = function(파라미터){
}
//객체 생성
var 인스턴스명 = new 클래스명(파라미터);
//함수 추가
클래스명.prototype.함수명 = function(파라미터){
}

//② object를 사용한 개별 객체 확장하기
var 인스턴스명 = new Object();
인스턴스명.속성명1 = "값1";
인스턴스명.속성명2 = "값2";
인스턴스명.함수명 = function(){
}

//③ JSON 표기법
//JSON = JavaScript Object Notation
//정의하기

var 객체 = {이름1:값1, 이름2:값2, 이름3:값3};
//값 가져오기

var 임시변수1 = 객체.이름1;
var 임시변수2 = 객체["이름1"];
//JSON 표기법을 사용한 클래스 정의
클래스명 = function(파라미터){
}
클래스명.prototype = {
 함수명1 : function(파라미터1){
 },
 함수명2 : function(파라미터2){
 }
}

//④ 자바스크립트에서 패키지 정의하기
//모듈별 함수명 중복을 방지하기 위해서 정의해야 되나, 자체 제공되지는 않고 객체의 프로퍼티를 사용해서 패키지 개념 적용한다.

var 패키지명1 = new Object();
var 패키지명2 = new Object();

//위는 다음과 동일
var 패키지명1 ={};
var 패키지명2 ={};

패키지명1.패키지명2.클래스명 = function(){
}

패키지명1.패키지명2.클래스명.prototype = {
 함수명1 : function(파라미터1){
 },
 함수명2 : function(파라미터2){
 }
}