<script type="text/javascript">
        // 일반 함수를 사용해 생성한 객
        //Student 생성자 함수를 사용해 생성된 객체
        function Student(name, korean, math, english, science) {
            // 속성
            this.이름 = name;
            this.국어 = korean;
            this.수학 = math;
            this.영어 = english;
            this.과학 = science;
            // 메소드
            this.getSum = function () {
                return this.국어 + this.수학 + this.영어 + this.과학;
            };
            this.getAverage = function () {
                return this.getSum() / 4;
            };
            this.toString = function () {
                return this.이름 + '\t' + this.getSum() + '\t' + this.getAverage();
            };
        }
        // 학생 정보 배열
        var students = [];
        // 생성자 함수를 사용해 객체를 생성할 때에는 new 키워 드 사용
        students.push(new Student('태연', 1, 6, 11, 16));
        students.push(new Student('수지', 2, 7, 12, 17));
        students.push(new Student('써니', 3, 8, 13, 18));
        students.push(new Student('서현', 4, 9, 14, 19));
        students.push(new Student('소희', 5, 10, 15, 20));

        // 출력
        var output = '이름\t총점\t평균\n';
        for (var i in students) {
            output += students[i].toString() + '\n';
        }
        alert(output);

    </script>

 

 생성자 함수는 new 키워드를 사용해 생성한다


'개발개발 > 자바스크립트' 카테고리의 다른 글

getter,setter  (0) 2012.08.27
프로토타입  (0) 2012.08.27
함수를 사용한 객체 생성  (0) 2012.08.27
객체와 배열을 사용한 데이터 관리  (0) 2012.08.27
객체 속성 추가(동적)  (0) 2012.08.27
Posted by 공돌공돌
,

<script type="text/javascript">
        function makeStudent(name, korean, math, english, science) {
            var willReturn = {
            // 속성
                이름: name,
                국어: korean,
                수학: math,
                영어: english,
                과학: science,
            // 메서드
                getSum: function () {
                    return this.국어 + this.수학 + this.영어 + this.과학;
                },
                getAverage: function () {
                    return this.getSum() / 4;
                },
                toString: function () {
                    return this.이름 + '\t' + this.getSum() + '\t' + this.getAverage();
                }
            };
            return willReturn;
        }

        // 학생 정보 배열
        var students = [];
        students.push(makeStudent('태연', 1, 6, 11, 16));
        students.push(makeStudent('수지', 2, 7, 12, 17));
        students.push(makeStudent('써니', 3, 8, 13, 18));
        students.push(makeStudent('서현', 4, 9, 14, 19));
        students.push(makeStudent('소희', 5, 10, 15, 20));

        // 출력합니다.
        var output = '이름\t총점\t평균\n';
        for (var i in students) {
            output += students[i].toString() + '\n';
        }
        alert(output);

</script>

 

    makeStudent 함수로 찍어내듯 객체를 생성할 수 있다. 하지만 생성자 함수를 사용하면  


    기능이 많은 객체를 쉽게 만들 수 있기 때문에 잘 사용하지 않는다


'개발개발 > 자바스크립트' 카테고리의 다른 글

프로토타입  (0) 2012.08.27
생성자 함수  (0) 2012.08.27
객체와 배열을 사용한 데이터 관리  (0) 2012.08.27
객체 속성 추가(동적)  (0) 2012.08.27
with 키워드  (0) 2012.08.27
Posted by 공돌공돌
,

<script type="text/javascript">
        var students = [];
        // push 메소드로 배열에 요소 하나하나씩 삽입
        students.push({ 이름: '태연', 국어: 1, 수학: 6, 영어: 11, 과학: 16 });
        students.push({ 이름: '수지', 국어: 2, 수학: 7, 영어: 12, 과학: 17 });
        students.push({ 이름: '써니', 국어: 3, 수학: 8, 영어: 13, 과학: 18 });
        students.push({ 이름: '서현', 국어: 4, 수학: 9, 영어: 14, 과학: 19 });
        students.push({ 이름: '소희', 국어: 5, 수학: 10, 영어: 15, 과학: 20 });

        for (var i in students)
        {
            with (students[i]) {

                //합을 구하는 메소드 getSum
                students[i].getSum = function() {
                    return 국어 + 수학 + 영어 + 과학;
                }

                //평균을 구하는 메소드 getAverage
                students[i].getAverage = function() {
                    return getSum() / 4;
                }
            }
        }
        //getSum, getAverage 로 합계 평균 구하기
        var output = '이름\t합계\t평균\n';
        for (var i in students)
        {
            with (students[i])
            {
                output += 이름 + '\t' + getSum() + '\t' + getAverage() + '\n';
            }
        }
        alert(output);

    </script>

                          

   학생들의 성적 총점과 평균을 계산하는 예제


    학생이라는 객체에서 성적을 관리할 때 필요속성만 뽑아서 자바스크립트 객체로 만듦

 

'개발개발 > 자바스크립트' 카테고리의 다른 글

생성자 함수  (0) 2012.08.27
함수를 사용한 객체 생성  (0) 2012.08.27
객체 속성 추가(동적)  (0) 2012.08.27
with 키워드  (0) 2012.08.27
객체와 반복문  (0) 2012.08.27
Posted by 공돌공돌
,