Archive

Posts Tagged ‘prototype’

What is jQuery?

July 9, 2007 5 comments

[Where is Data?]

  1. jQuery : Download
  2. jQuery : DOM/Traversing/Selectors
  3. jQuery : Plugins
  4. http://www.ibm.com/developerworks/web/library/x-aj…
  5. http://hiphapis.net/entry/jQuery
  6. http://innolab.tistory.com/1173513704
  7. http://www.visualjquery.com/1.1.2.html
  • What’s jQuery?
    Created by John Resig in early 2006, jQuery is a great library for anyone who works with JavaScript code. Whether you’re new to the JavaScript language and want a library to address some of the complexities of Document Object Model (DOM) scripting and Ajax or you’re an advanced JavaScript guru and tired of the boring repetition involved with DOM scripting and Ajax, jQuery will suit you well.
    jQuery helps you keep your code simple and succinct. You no longer have to write a bunch of repetitious loops and DOM scripting library calls. With jQuery, you can get right to the point and express yourself in the fewest possible characters.

    The jQuery philosophy is certainly unique: It’s designed to keep things simple and reusable. When you understand and feel comfortable with the philosophy, you’ll start to see just how much jQuery can improve the way you program.

  • jQuery is a fast, concise, JavaScript Library that simplifies how you traverse HTML documents, handle events, perform animations, and add Ajax interactions to your web pages. jQuery is designed to change the way that you write JavaScript.

Prototype/Scriptaculous : 우선 Rails와 통합되어 있고 널리 사용되고 있기 때문에 안정적…

jQuery : 수많은 Reference가 있으므로 안정적 / Prototype이 해주는 기능은 jQuery 모두 지원 / 많은 Plugin 지원. ..

YUI : Yahoo가 사용하고 있는 라이브러리이므로 안정성 인정. 구현되어 있는 기본적인 컴포넌트들은 꽤 좋음. 하지만 확장할 때는 시간이 좀 걸림. YUI가 1, 2와 다른 점은 나름의 DSL 이용을 최대한 자제하고 있다는 것이다….

Dojo : 너무 방대하고, 용량도 크다. 쓸만한 문서도 찾아보기 어려웠고, Dojo가 지원하는 컴포넌트들은 거의 jQuery 플러그인들도 지원….

GWT : Google…(what is?)

Ajax/Prototype 1.4.0

May 19, 2007 Leave a comment

* Ajax 객체

이 객체는 AJAX기능을 제공하는 많은 다른 클래스를 위한 root와 명명공간(namespace)처럼 제공한다
+ 프라퍼티
- activeRequestCount : 진행중인 AJAX요청의 수
+ 메소드
- getTransport() : 새로운 XMLHttpRequest 객체를 반환

* Ajax.Responders 객체

Enumerable를 상속하였다.
Ajax관련 이벤트가 발생할때 호출될 객체의 목록을 보존한다.
당신이 AJAX작업을 위한 전역 예외 핸들러를 연결하길 원한다면 이 객체를 사용할수 있다.
Ajax 를 컨트롤하기 위해서 내부적으로 사용되어 지는것 같다.
+ 프라퍼티
- responders : 객체의 목록은 AJAX이벤트 알림(notifications)을 위해 등록되었다
+ 메소드
- register(responderToAdd) :
responderToAdd: 호출될 메소드를 가진 객체
responderToAdd인자를 전달하는 객체는 AJAX이벤트(이를테면, onCreate, onComplete, onException 등등)처럼 명명된 메소드를 포함해야만 한다.
메소드를 등록하는것이다.
미리 정의된 이벤트에 대응하는 모든 메소드가 호출된다.
- unregister(responderToRemove) :
responderToRemove: list로부터 제거될 객체
메소드 목록에서 responderToRemove객체를 지운다.
- dispatch(callback, request, transport, json) :
callback: 보고되는 AJAX이벤트 이름
request: 이벤트를 책임지는 the Ajax.Request 객체
transport: AJAX호출을 가지는 XMLHttpRequest 객체
json: 응답의 X-JSON 헤더(존재할때만)
등록된 객체의 목록을 통해 실행하는 것은 callback 인자내 결정된 메소드를 가지는 것을 찾는다.
호출되는 각각의 메소드는 다른 3개의 인자를 전달한다.
AJAX응답이 몇몇 JSON컨텐츠를 가지는 X-JSON HTTP 헤더를 포함한다면, 이것은 평가되고 json인자로 전달될것이다.
만약 이벤트가 onException라면, transport인자는 대신에 예외를 가질것이고 json은 전달되지 않을것이다.

* Ajax.Base 클래스

이 클래스는 Ajax객체내 정의된 다른 대부분의 클래스를 위한 기본(base)클래스처럼 사용된다.
- setOptions(options) : options: AJAX 옵션 AJAX작업을 위해 필요한 옵션 셋팅
- responseIsSuccess() : 만약 AJAX작업이 성공한다면 true를 반환하고, 실패한다면 false를 반환
- responseIsFailure() : responseIsSuccess()와는 반대.

* Ajax.Request 클래스

Ajax.Base로 부터 상속 Ajax 작업을 캡슐화한다.즉 지저분한 코드를 숨기고 포장하여 코드를 깔끔하게 만든다. Prototype Ajax 의 핵심일것이다.

+ 프로퍼티
- Events
Array 타입이다.
AJAX작업중 보고되는 가능한 이벤트/상태의 목록.
목록은 ‘Uninitialized’, ‘Loading’, ‘Loaded’, ‘Interactive’, 그리고 ‘Complete.’를 포함한다.
- transport
XMLHttpRequest 타입이다.
AJAX작업을 가지는 XMLHttpRequest 객체
- url
String 타입이다.
요청에 의해 대상이 되는 URL
+ 메소드
- [ctor](url, options)
url: ajax 호출에 응답하여 결과를 주기위한 서버측 url
options: AJAX 옵션
주어진 옵션을 사용하여 주어진 url을 호출할 이 객체의 하나의 인스턴스를 생성.
중요사항: 선택된 url은 브라우저의 보안 셋팅을 위한 대상이 될 가치가 없다.
많은 경우 브라우저는 현재 페이지처럼 같은 호스트로부터가 아니라면 url을 가져오지 않을것이다.
당신은 설정을 피하거나 사용자의 브라우저를 제한하기 위한 로컬 url만을 사용할 것이다.
- evalJSON()
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것은 AJAX응답내 존재하는 X-JSON HTTP헤더의 컨텐츠를 평가하기 위해 내부적으로 호출된다.
- evalReponse()
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
AJAX응답이 text/javascript의 Content-type헤더를 가진다면, 응답 몸체는 평가되고 이 메소드는 사용될것이다.
- header(name)
name: HTTP 헤더명
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것은 AJAX응답의 HTTP헤더의 컨텐츠를 가져오기 위해 내부적으로 호출된다.
- onStateChange()
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것은 AJAX호출 상태 변경시 객체 자체에 의해 호출된다.
- request(url)
url: AJAX호출을 위한 url
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것은 생성자를 호출하는 동안 벌써 호출되었다.
- respondToReadyState(readyState)
readyState: 상태 숫자값(1 에서 4)
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것은 AJAX호출 상태가 변경될때 객체 자체에 의해 호출된다.
- setRequestHeaders()
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것은 HTTP요청을 하는 동안 보내어질 HTTP헤더를 조합하기 위한 객체 스스로에 의해 호출된다.

* options 인자 객체

AJAX작업의 중요한 부분은 options 인자이다.
이것은 기대되는 프라퍼티를 가지는 동안 어떠한 객체도 전달될수 있다.
이것은 AJAX호출을 위해 익명 객체를 생성하는 것이 공통적이다.

+ 프라퍼티

- method
String 타입이고 ‘post’값을 초기값으로 갖는다.
HTTP요청의 메소드
- parameters
String 타입이고 ”값을 초기값으로 갖는다.
요청에 전달한 값들의 url형태의 목록
- asynchronous
Boolean 타입이며 true 값을 초기값으로 갖는다.
AJAX호출이 비동기적으로 만들어지는지 표시
- postBody
String 타입이다.
HTTP POST의 경우 요청의 몸체내 전달되는 내용
- requestHeaders
Array 타입이다.
요청과 함께 전달되기 위한 HTTP헤더의 목록.
이 목록은 많은 수의 항목을 가져야 한다.
나머지 항목은 사용자 정의 헤더의 이름이다.
그리고 다음의 항목은 헤더의 문자열 값이다.
예제 : [’my-header1′, ‘this is the value’, ‘my-other-header’, ‘another value’]
- onXXXXXXXX
Function(XMLHttpRequest) 타입이다.
각각의 이벤트/상태가 AJAX호출이 발생하는 동안 도착할때 호출될 사용자정의 함수.
예제 var myOpts = {onComplete: showResponse, onLoaded: registerLoaded};.
사용되는 함수는 AJAX작업을 가지는 XMLHttpRequest객체를 포함하는 하나의 인자를 받을것이다.
- onSuccess
Function(XMLHttpRequest) 타입이다.
AJAX호출이 성공적으로 완성될때 호출될 사용자정의 함수. 사용되는 함수는 AJAX작업을 가지는 XMLHttpRequest객체를 포함하는 하나의 인자를 받을것이다.
- onFailure
Function(XMLHttpRequest) 타입이다.
AJAX호출이 에러를 가진채 끝날때 호출될 사용자정의 함수. 사용되는 함수는 AJAX작업을 가지는 XMLHttpRequest객체를 포함하는 하나의 인자를 받을것이다.
- insertion
Function(Object, String) 타입이다.
null 삽입하기 위해 호출되는 함수는 텍스트를 요소로 반환한다.
함수는 수정되기 위한 요소객체와 Ajax.Updater객체에만 적용되는 응답 텍스트의 두개의 인자를 가지고 호출된다.
- evalScripts
Boolean 타입이며 false 값을 기본값으로 가진다.
스크립트 블럭이 응답이 도착했을때 평가할지를 판단.
Ajax.Updater객체에만 적용.
- decay
Number 타입이며 1 값을 기본값으로 가진다.
Ajax.PeriodicalUpdater 객체는 받은 응답이 마지막 것과 같을때 비율을 새롭게 하여 연속적인 후퇴를 결정.
예를 들어, 당신이 2를 사용한다면, 새롭게 된것중에 하나가 이전것과 같은 결과를 만든후에, 객체는 다음 refresh를 위한 시간의 두배를 기다릴것이다.
이것은 다시 반복한다면, 객체는 4배를 기다릴것이다. 이것을 후퇴를 피하기 위해 정의되지 않거나 1을 사용하도록 남겨두라.
- frequency
Number 타입이며 2 의 기본값을 가진다.
초단위의 갱신간격(횟수가 아닌), Ajax.PeriodicalUpdater객체에만 적용.

* Ajax.Updater 클래스

Ajax.Request로 부터 상속
요청된 url이 당신 페이지의 특정 요소내 직접적으로 삽입하길 원하는 HTML을 반환할때 사용된다.
당신은 url이 도착을 평가할 <script>블럭을 반환할때 이 객체를 사용할수 있다.
스크립트로 작업하기 위해 evalScripts 옵션을 사용하라.

+ 프라퍼티
- containers
Object 타입이다.
이 객체는 두개의 프라퍼티(containers.success 는 AJAX호출이 성공할때 사용될것이다. 그리고 AJAX호출이 실패한다면 containers.failure가 사용될것이다.)를 포함한다.

+ 메소드
- [ctor](container, url, options)
container: 이것은 요소의 id, 요소객체 자체, 또는 두개의 프라퍼티(AJAX호출이 성공했을때 사용될 object.success 요소(또는 id), 그리고 AJAX호출이 실패했을때 사용될 object.failure요소(또는 id))를 가지는 객체가 될수 있다.
url: ajax 의 요청에 응답하기 위한 서버측 주소
options: AJAX 옵션
주어진 옵션을 사용하여 주어진 url을 호출할 이 객체의 하나의 인스턴스를 생성.

- updateContent()
이 메소드는 내부적으로 사용되고 사용자가 호출하지 않는다.
이것은 응답을 받았을때 객체 자체에 의해 호출된다.
이것은 HTML로 적절한 요소를 수정하거나 insertion옵션내 전달되는 함수를 호출할것이다.
이 함수는 두개의 인자(수정되기 위한 요소와 응답 텍스트)를 가지고 호출될것이다.

* Ajax.PeriodicalUpdater 클래스

Ajax.Base로 부터 상속
이 클래스는 반복적으로 인스턴스화하고 페이지에서 요소를 새롭게 하거나 Ajax.Updater가 수행할수 있는 다른 작업중 어느것을 수행하기 위한 Ajax.Updater객체를 사용한다.
좀더 많은 정보를 위해 Ajax.Updater 참조를 체크하라.

+ 프라퍼티
- container
이 값은 Ajax.Updater생성자에 일관적으로 전달될것이다.
- url
String 타입이다.
이 값은 Ajax.Updater의 생성자에 일관적으로 전달될것이다.
- frequency
Number 타입이다.
초단위의 refresh간격.
디폴트는 2초.
이 숫자는 Ajax.Updater 객체를 호출할때 현재 축소(decay)에 의해 곱해질것이다.
- decay
Number타입이다.
작업을 재-수행할때 적용될 축소(decay)레벨을 유지
- updater
Ajax.Updater 타입이다.
가장 최신에 사용된 Ajax.Updater 객체
- timer
다른 refresh를 위한 시각일때 객체를 알리기 위해 사용되는 자바스크립트 타이머

+ 메소드
- [ctor](container, url, options)
container:이것은 요소의 id, 요소객체 자체, 또는 두개의 프라퍼티(AJAX호출이 성공할때 사용될 object.success 요소(나 id), AJAX호출이 실패할때 사용할 object.failure 요소(나 id))를 가지는 객체가 될수 있다.
url: ajax 가 서버에 요청을 할주소
options: AJAX 옵션 주어진 옵션을 사용하여 주어진 url을 호출할 이 객체의 하나의 인스턴스를 생성

- start()
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것의 정기적인 작업 수행을 시작하기 위해 객체 자체에 의해 호출된다.
- stop()
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것의 정기적인 작업 수행을 시작하기 위해 객체 자체에 의해 호출된다.

- updateComplete()
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
요청을 완성한 후에 사용되는 Ajax.Updater에 의해 호출된다.
이것은 다음 refresh스케줄링 하기 위해 사용된다.

- onTimerEvent()
이메소드는 내부호출용으로 사용되어지고 사용자는 사용하지 않을것이다.
이것은 다음 수정을 위한 시각일때 내부적으로 호출된다.

Tags: , ,

prototype.js에 새롭게 정의된 객체와 클래스

May 19, 2007 Leave a comment

아래의 글은 다타만의 개인 블로그에 있으며, 공부하고자 빌려왔습니다.
저작권은 다타만님께 있으며, 혹여 다타만님 의견있으시면 남겨주세요.

* PeriodicalExecuter 객체

이 객체는 주어진 함수를 주어진 시간간격으로 반복적으로 호출하기 위한 로직을 제공한다.

- [ctor](callback, interval)
callback : 파라미터 성격이 아닌 함수
interval: 호출할 초단위 시간간격
함수를 반복적으로 이 객체의 하나의 인스턴스를 생성

var tm = new PeriodicalExecuter(function(){alert(”열려라 참깨~~!”);},2);

위 tm 객체는 2 초에 한번식 “열려라 참깨~~!” 라는 alert 창을 띄웁니다.
함수는 외부에 정의가 되도 당연히 되겠죠.
alert 창을 닫은후 2초 후에 다시 띄웁니다.
중복 수행되지 않는 다는말이죠.

- currentlyExecuting
이 프로퍼티는 객체에서 호출된 함수가 진행중인가에 대한 Boolean 값입니다.

* Prototype 객체

이 객체는 라이브러리의 버전을 가지고 있고 특별한 기능은 없다.

- Version
Prototype 의 버전을 String 로 가지고있다.

- emptyFunction
비어있는(empty) 함수 객체

- K
주어진 파라미터를 되돌리는 함수 객체

- ScriptFragment
스크립트를 확인하는 정규식 표현이 객체는 그냥 넘어가겠다. 별로 중요하지 않다고 하니..

* Enumerable 객체

이 객체는 LIST 유형의 객체이고 반복구조에 적함하도록 되어고 유용한 속성을 많이 가지고있어서 만은객체들이 이를 계승받아서 작성된다.

+ 프로퍼티

- Version
라이브러리의 버전

+ 메소드

- each(iterator)
iterator: Function(value, index)를 충족하는 함수 객체
주어진 iterator함수를 호출하고 그것은 첫번째 인자로 목록의 각각의 요소와
두번째 인자로 요소의 인덱스 전달한다.

- all([iterator])
iterator: Function(value, index)를 충족하는 함수 객체
주어진 함수를 사용하여 전체 값을 테스트한다.
전체의값중 하나라도 null 이나 false 를 리턴하면 이 함수는 false 를리턴 하고 전체가
true 인 경우 true 를 리턴한다.
iterator가 주어지지 않는다면, 요소 자체가 false 나 null이 아닌지 체크 할 것이다.

- any(iterator)
iterator: Function(value, index)를 충족하는 함수 객체(선택사항)
이 함수는 all 과 비슷하나 전체값 중 어느 하나만 true 인 경우 true 를 반환한다.
all 함수가 전체 요소에 대해서 and 관계연산을 한다고 하면 any 함수는 전체 요소에 대해
OR 관계연산을 한다고 볼 수 있다.

- collect(iterator)
iterator: Function(value, index)를 충족하는 함수 객체
집합내 각각의 요소를 위한 iterator함수를 호출하고 Array로 각각의 결과를 반환한다.
집합내 각각의 요소를 위한 하나의 결과 요소는 같은 순서이다.

- detect(iterator)
iterator: Function(value, index)를 충족하는 함수 객체
집합내 요소중 최초로 true 결과를 주는 첫 요소를 리턴한다.
true를 반환하는 요소가 없다면, detect는 null을 반환한다.

- entries()
array 로 값들을 추출해낸다.

- find(iterator)
iterator: Function(value, index)를 충족하는 함수 객체
detect()와 같다.

- findAll(iterator)
iterator: Function(value, index)를 충족하는 함수 객체
집합내 요소중 최초로 true 결과를 주는 모든 값을 Array을 반환한다.
이 함수는 reject()와는 반대의 함수이다.

- grep(pattern [, iterator])
pattern: 요소를 일치시키기 위해 사용되는 정규식 표현(RegExp객체 – 정규식은 어렵다 )
iterator: Function(value, index)를 충족하는 함수 객체
유닉스의 grep 명령어 와 비슷하다.
집합내 각각의 요소의 문자열 값을 pattern 정규표현식에 대해 체크하고 정규표현식에
대응되는 모든 요소를 포함하는 Array 를 반환한다.
iterator함수를 사용하면 정규식에 대응되는 값들을 찾아서 iterator 함수에 넣고
그 결과값을 Array 에 저장한다.

- include(obj)
obj: 집합내 주어진 객체를 찾도록 시도한다.
객체가 찾아진다면, true를 반환하고 찾지 못한다면 false를 반환한다.

- inject(initialValue, iterator)
initialValue: 초기화 값처럼 사용되는 객체
iterator: Function(accumulator, value, index)를 충족하는 함수 객체
잡합의 모든 요소를 accumulator 아규먼트에 initialValue 를 초기값으로 누적한다.

- invoke(methodName [, arg1 [, arg2 […]]])
methodName: 각각의 요소내에서 호출될 메소드의 이름
arg1..argN: 메소드 호출로 전달될 인자.
집합의 각각의 요소내의 값을 methodName함수를 (arg1에서 argN)인자로 호출하고
그 결과를 Array객체에 담아 반환한다.

- map(iterator)
iterator: Function(value, index)를 충족하는 함수 객체 collect()과 같다.

- max([iterator])
iterator: Function(value, index)를 충족하는 함수 객체
집합내 가장 큰 값이나 iterator가 있으면 iterator호출 결과중 가장 큰 값을 반환한다.

- member(obj)
obj: 객체 include()과 같다.

- min([iterator])
iterator: Function(value, index)를 충족하는 함수 객체
max 와 반대로 가장 작은값이나 가장 작은 iterator 결과를 반환한다.

- partition([iterator])
iterator: Function(value, index)를 충족하는 함수 객체
true 를 반환하거나 iterator결과가 true 인 모든 요소 배열과, 나머지 모든 요소들의 배열
2 개의 배열을 반환한다.

- pluck(propertyName)
propertyName : 각각의 요소로부터 읽어들이는 프라퍼티의 이름.
이것은 요소의 인덱스를 포함할수 있다.
집합에서 propertyName과 같은 프라퍼티의 값을 Array객체로 반환한다.

- reject(iterator)
iterator: Function(value, index)를 충족하는 함수 객체
집합에서 iterator함수의 결과가 false인 모든 요소를 Array로 반환한다.
이 함수는 findAll()과는 반대되는 함수이다.

- select(iterator)
iterator: Function(value, index)를 충족하는 함수 객체
findAll()과 같다. ( reject 와반대이다. ㅎㅎㅎ)

- sortBy(iterator)
iterator: Function(value, index)를 충족하는 함수 객체
iterator함수호출결과를 정렬하여 Array로 반환.

- toArray()
집합의 모든 요소를 Array로 반환.

- zip(collection1[, collection2 [, … collectionN [,transform]]])
collection1 .. collectionN: 병합될 목록
transform: Function(value, index)를 충족하는 함수 객체
여러개의 집합을 인수로 받아서 인댁스가 동일한 값끼리 배열로 만들고
그 배열들을 모아서 2 차원 배열로 반환한다.
transform함수가 있으면 각각의 내부 배열은 transform함수에 의해서 변형된다.
예제 : [1,2,3].zip([4,5,6], [7,8,9]).inspect() 는 “[[1,4,7],[2,5,8],[3,6,9] ]” 를 반환한다.

* Hash 객체

해시구조를 구현한다.
해시는 자료구조중 키로 주소를 연산해내는 방법으로 부고 키와 키값 쌍으로 파라메타를 넘기는따위에 많이 사용된다.
Hash객체내 각각의 항목은 두개의 요소(첫번째는 key, 두번째는 value)를 가진 배열이다.

- keys()
모든 항목의 key를 가진 Array을 반환

- values()
모든 항목의 value를 가진 Array을 반환

- merge(otherHash)
otherHash: Hash 객체
hash와 전달된 다른 hash를 조합하고 새로운 결과 hash를 반환

- toQueryString()
쿼리 문자열처럼 포맷팅된 문자열로 hash의 모든 항목을 반환한다.
‘key1=value1&key2=value2&key3=value3′ 이런 형식으로 반환하므로 url 의 파라메타 등으로
사용하기 적당하다.

- inspect()
key:value쌍을 가진 hash의 포맷팅된 문자열 표현을 반환하기 위해 변경(오버라이드)

* ObjectRange 클래스

Enumerable으로부터 상속
상위 경계나 하위 경계로 값들의 범위를 표시 한다.
반복을 위해서 사용되어지는것 같다. 범위 내의 값은 기억하고 있지않고 단지 처음과 끝 그리고 처음값과 끝값이 포함되는디( > 인지, >= 인지 )에 대한 정보만을 가지고있다.
+ 프로퍼티

- start (any)
범위의 시작값

- end (any)
범위의 마지막값

- exclusive
instance 경계자체가 범위의 일부인지 판단

+ 메소드

- [ctor](start, end, exclusive)
start: 시작값
end: 마지막값
exclusive: 경계가 범위내 포함되는가 ?
하나의 range객체를 생성한다.
start 에서 end로 범위를 지정한다.
start 와 end가 같은 타입의 객체이고 succ()메소드를 가져야만 한다.

- include(searchedValue)
searchedValue: 검색할 값
주어진 값이 범위내 값인지 체크. true 나 false값을 반환한다.

* Class 객체

Class 객체는 라이브러리에서 다른 클래스를 선언할때 사용된다.
클래스를 선언할때 이 객체를 사용하는 것은 생성자로 제공되는 initialize()메소드를 지원하기 위한 새로운 클래스를 발생시킨다. (어렵다..ㅠ.ㅠ)

//class 객체를 사용해서 클레스를 생성한다.
var MySampleClass = Class.create();

//생성한 클레스를 prototype 로 정의한다.
// 아마 자바스크립트는 기존에있는 클레스를 재정의 하기만하고 생성하지는않는가보다.
MySampleClass.prototype = {
initialize: function(message) {
this.message = message;
},
showMessage: function(ajaxResponse) {
alert(this.message);
}
};

//새로 생선한 클레스를사용하여보자
var myTalker = new MySampleClass(’hi there.’);
myTalker.showMessage(); //메세지가 alert 창으로 뜰것이다.

- create(*)
새로운 클래스를 위한 생성자를 정의

Tags: ,