배열에서는 자동으로 곂치지 않는 index가 부여된다.
이 인덱스를 숫자 대신 문자로 쓰고 싶다면 객체를 사용하면 된다.
객체의 생성
방법 1var 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라는 함수를 그룹핑한 그릇이라고 할 수 있다.
이런 스타일을 '객체지향프로그래밍' 이라고 한다.
- 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']();
}
댓글 없음:
댓글 쓰기