본문 바로가기

프로그래밍/자바스크립트

[자바스크립트] 객체 : 메소드 생성과 호출 / 속성 추가 / 삭제

1. 메소드 생성과 호출

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>객체의 속성과 메소드 사용</title>
<script type="text/javascript">
    //객체 생성
    var person ={
            //속성 지정
            name : '김철수',
            //메서드 지정
            eat:function(food){
                //this : 메서드 내에서 자기 자신이 가지고 있는 속성을 출력하고 싶을 때, 객체 내부에서 객체를 참조할 때 사용.
                //name을 호출하면 메서드 내에 선언한 지역변수를 찾고, 없을 경우 객체 밖에 선언된 변수를 찾음
                var name= '강호동';
                //this.name으로 작성해야 가능. this를 작성하지 않으면 객체 자신의 속성이 아니라 전역변수나 지역변수로 인식함.
                alert(this.name+'이/가 ' + food+'을 먹습니다 냠냠(지역변수)');    
                alert(name+'이/가 ' + food+'을 먹습니다 냠냠(전역변수)');
            }
    };
    
    //객체의 메서드 호출
    person.eat('라면');
</script>
//출력 결과
강호동이/가 라면을 먹습니다 냠냠(지역변수)
김철수이/가 라면을 먹습니다 냠냠(전역변수)
</head>
<body>
 
</body>
</html>
cs

 

2. 속성 추가

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>빈 객체에 속성 추가</title>
<script type="text/javascript">
    var student = {};
    
    //객체에 속성 추가
    student.이름 = '홍길동';
    student.취미 = '악기';
    student.특기 = '프로그래밍';
    student.장래희망 = '프로그래머';
    
    //in 키워드를 이용해서 객체내의 속성 존재 여부 체크
    document.write(('특기' in student) + '<br>');    //존재하면 ture, 존재하지않으면 false
    document.write(student.이름 + '<br>');
    document.write('----------------------<br>');
    
    //객체에 메서드 추가
    student.play = function(){
        document.write('피아노를 연주하다');
    };
    
    //for in 반복문
    for(var key in student){
        document.write(key + ' : ' + student[key] +'<br>');
    }
</script>
//출력 결과
true
홍길동
----------------------
이름 : 홍길동
취미 : 악기
특기 : 프로그래밍
장래희망 : 프로그래머
play : function(){ document.write('피아노를 연주하다'); }
</head>
<body>
 
</body>
</html>
cs

 

3. 속성 삭제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>String</title>
<script type="text/javascript">
    //객체 생성
    var student = {};
    
    //객체에 속성 추가
    student.이름 = '박문수';
    student.직업 = '경찰';
    student.특기 = '사격';
    
    //for in 반복문
    for(var key in student){
        document.write(key + ' : ' + student[key] +'<br>');
    }
    document.write('--------------------------------------<br>')
    //속성 제거
    delete student.특기;
    delete student.직업;
    //for in 반복문
    for(var key in student){
        document.write(key + ' : ' + student[key] +'<br>');
    }
</script>
//출력 결과
이름 : 박문수
직업 : 경찰
특기 : 사격
--------------------------------------
이름 : 박문수
</head>
<body>
</body>
</html>
cs