2016년 10월 18일 화요일

Javascript 객체(Object)

배열에서는 자동으로 곂치지 않는 index가 부여된다.
이 인덱스를 숫자 대신 문자로 쓰고 싶다면 객체를 사용하면 된다.


객체의 생성

방법 1
var grades = {'egoing': 10, 'k8805': 6, 'soralgi': 80};

방법 2
var grades = {};
grades['egoing'] = 10;
grades['k8805'] = 6;
grades['soralgi'] = 80;

방법 3
var grades = new Object();
grades['egoing'] = 10;
grades['k8895'] = 6;
grades['sorialgi'] = 80;

※ egoing = key 라 지칭
   10 = value 라 지칭

객체의 속성에 접근

alert(grades.egoing);

객체 + 반복문


var grades = {'egoing': 10, 'k8805': 6, 'sorialgi': 80};

for (key in grades) {
  document.write("key : " + key + " value : " + grades[key] + "<br />");

객체 + 반복문2

- grades 라는 객체 안에는 list라는 key가 있고, value는 또 다른 '객체'이다.
- 또 show 라는 key가 있고, value는 '함수' 이다.
- grades['list'] -> 객체 전체를 가리킴
- grades['list']['egoing'] -> 객체의 key중 'egoing'의 value, 10을 나타낸다.
- grades['show'] -> 함수 자체를 나타냄
- grades['show']() -> 함수를 실행함.
- this : this 가 실행되는 함수를 가지고 있는 '객체'를 뜻함
- grades는 list 라는 객체와 show라는 함수를 그룹핑한 그릇이라고 할 수 있다.
  이런 스타일을 '객체지향프로그래밍' 이라고 한다.
var grades = {
    'list': {'egoing': 10, 'k8805': 6, 'sorialgi': 80},
    'show' : function(){
        for(var name in this.list){ // grades 객체의 key값을 name에 대입
            document.write(name+':'+this.list[name]+"<br />");
        }
    }
};
grades.show(); // = grades['show']();
}

댓글 없음:

댓글 쓰기