티스토리 뷰
-프로토타입은 생성자 함수로 생성된 객체가 공통으로 가지는 공간(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>
'Javascript' 카테고리의 다른 글
기본자료형 숫자 변수와 Number type의 객체 변수 (0) | 2017.02.03 |
---|---|
캡슐화 (0) | 2017.02.03 |
클라이언트(웹 브라우저) API - HTML, CSS, JavaScript (0) | 2017.02.02 |