티스토리 뷰

Javascript

프로토타입 공간

살구르 2017. 2. 3. 12:51

-프로토타입은 생성자 함수로 생성된 객체가 공통으로 가지는 공간(p.183~)

-따라서 생성자 함수로 객체를 만들때는 생성자 함수 내부에 속성만 넣고,

-메서드는 모두 프로토 타입안에 넣는다.

-왜냐하면, 생성자 함수로 생성된 객체들의 속성은 서로 모두 다른 값을 가지지만

-메서드는 동일하므로 객체를 만들때마다 모든 메서드를 새로 생성하면 낭비가 된다.

-따라서 속성 값만 생성자 함수에 넣고 메서드는 프로토타입에 저장한다.


<script type="text/javascript">

function Student(name, kor, eng, math){

this.name = name;

this.kor = kor;

this.eng = eng;

this.math = math;

}

Student.prototype.getSum = function(){

return this.kor+this.eng+this.math;

};

Student.prototype.getAvg = function(){

return this.getSum()/3;

};

Student.prototype.toString = function(){

return this.name + '\t' + this.getSum() + '\t\t' + this.getAvg();

};

var students = [];

students.push(new Student('김슬기',100,90,95));

students.push(new Student('윤하린',96,98,99));

var output = '이름 총점 평균\n';

for(var i in students){

output+=students[i].toString()+'\n';

}

console.log(output);

</script>



댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/12   »
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
글 보관함