AJAX스터디 1일차(DOM)




1. Prototype.js의 사용, 클래스 생성,생성자



  • Prototype.js를 이용하면 클래스 정의 시 명시적인 서술이 가능.
  • http://www.prototypejs.org 에서 다운
  • Class.create() 메소드와 prototype 속성을 사용해서 클래스 선언.

  • 클래스의 생성자는 initialize() 메소드를 사용하여 정의

    예)


    Var Subject = Class.create(); // subject 클래스 선언(생성)


    Subject.prototype={ // Subject 클래스를 정의


    Initialize : function(){ // initialize() 메소드를 사용해서 클래스의 생성자 정의


    ..


    ..


    }


    Var Subject = new Subject(); // Subject클래스의 객체 subject 생성



  1. 클래스를 상속해서 하위 클래스 생성


  • Extend()메소드를 이용하여 클래스의 상속을 처리한다.

  • Extend()메소드는 첫 번째 매개변수로 상속해 주는 클래스의 객체를 지정한다.

    예) SubSubject.prototype = Object.extend(new Subject,{…



  • 두번째 매개변수는 상속받는 클래스의 정의를 기술한다.

       


  • 오버라이딩

  • 오버라이딩은 그냥 부모 클래스랑 이름 같고 내부 정의의 기술만 다름.(그래도 구현됨.)

       


  • DOM트리 객체를 사용해서 태그 노드의 추가와 제거
  • 어케보면 신기한 기능이다.(평소에는 자주 봐온 것이지만..)

  • DOM에서는 html테그를 객체로 취급한다.

    예)


    divNode = nodeDisplay(); // 이말인 즉 divNode는 <div> 태그라는 얘기임.


    function nodeDisplay(){


    var divNode = null;


    divNode = document.createElement(“div”);


    divNode.className = “area”;


    return divNode;


    }


    var inputNode = document.createElement(“input”); // 여기서 inputNode는 원소. Input태그를 말함.


    inputNode.setAttribute(“type”,”button”); // 원소에 태그 정보를 할당해 줌.


    divNode.appendChild(inputNode);//


  • Document.body.appendChild(객체)를 통해서 태그 아래 객체를 추가
  • Document.body.removeChild(객체)를 통해서 태그 아래 객체 삭제
  • 트리 개념으로 생각하면 쉬움!
  • 덧, prototype.js에서 이벤트 리스너가 Event.observe(객체id,발생되는이벤트,함수 정의 혹은 호출) 이런 식으로 정의됨.
  • 매개변수 활용

  • 매개변수 항목이 여러 개인 경우 {}(brace)를 사용해서 표현.

    (예)


    var backColor = { // 매개변수 객체 backColor 정의 -스타일 정의


    “1” : “#3399cc” , “2” : “#9966cc” , “3” : “#ccffff”,


    “4” : “#5f9ea0” , “5” : “#ffcccc”


    };


       


    1일차 느낀 점


  • 약 4시간여에 걸친 첫 아작스의 경험이었다. 무엇보다 DOM구조가 기본이 된다는 점과 생각지도 못한 prototype.js를 이용한 자바스크립트의 클래스 비스무리한(거의 같다.) 구조(물론 코딩은 다르다.) 덧, 리치 클라이언트 개발이 가능하다니.. 생각보다 아작스에게는 다양한 기능들이 존재하는 것 같다.
  • 그러나 아쉬운건(이건 개인적인것) 시간분배를 잘 못해가지고 오늘 하루종일 한게 아작스 공부밖에 없다. DB설계 관련해서도 공부해야 하는데…
  • 아무튼!! 중요한건 재밌다는거!! ㅎㅎ 어여 책 다 파해치고 싶다… ㅜㅜ 화팅~!