생성자 함수
- 함수모양의 객체를 말한다.
function 객체명(){}
- this.속성 형식으로 현재 객체의 멤버 변수를 설정한다.
- 기본 형식
function Object명(매개변수1, 매개변수2){
this.속성1 = 매개변수1
this.속성2 = 매개변수2
this.속성3 = function(){} //메서드
}
var 참조변수명 = new Object명(데이터1, 데이터2)
## 학생 객체 선언
function Student(name, kor, math, eng){
this.name=name;
this.kor=kor
this.math=math
this.eng=eng
this.getSum = function(){
return this.kor+this.math+this.eng;
}
this.getAvg = function(){
return this.getSum()/3
}
}
var s01 = new Student("홍길동",80,70,90)
var students = [] // 학생 배열 선언
students.push(s01) // 배열에 s01 객체 추가
students.push(new Student("박길동",50,30,40))
students.push(new Student("오길동",70,30,40))
students.push(new Student("송길동",80,20,40))
// 학생 성적 테이블 만들기
var print="<h2>학생성적</h2>"
print+="<table><tr><th>이름</th><th>국어</th><th>수학</th><th>영어</th><th>총점</th><th>평균</th></tr>"
students.forEach(function(std){
print+="<tr>"
for(var pro in std){
if(pro=="getSum" || pro=="getAvg"){
// 속성값이 메서드인 경우
print+="<td>"+parseInt( std[pro]() )+"</td>"
}else{
// 속성값이 매개변수인 경우
print+="<td>"+std[pro]+"</td>"
}
}
print+="</tr>"
})
print+="</table>"
div.innerHTML=print