js11

제로·2022년 11월 28일
0

javascript

목록 보기
11/26

생성자 함수

  1. 함수모양의 객체를 말한다.
    function 객체명(){}
  2. this.속성 형식으로 현재 객체의 멤버 변수를 설정한다.
  3. 기본 형식
    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

profile
아자아자 화이팅

0개의 댓글