<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<table border="1" id = "saramTable"></table>
<script>
// 옛날 방식의 클래스 선언 (생성자 함수)
function Saram(name, job){
this.name = name;
this.job = job;
// 생성자 안에 선언하면 모든 객체에 복제된다.
//this.mkRow = function(){
// return `<td>${this.name}</td><td>${this.job}</td>`;
//}
}
// prototype 공통 프로퍼티에 하나만 선언된다.
Saram.prototype.mkRow = function(){
return `<td>${this.name}</td><td>${this.job}</td>`;
}
// Saram을 상속 받은 Student 클래스
function Student(name, score){
this.name = name;
this.score = score;
this.job = "학생";
}
Student.prototype = new Saram();
Student.constructor = Student;
Student.prototype.mkRow2 = function(){
return this.mkRow() + `<td>${this.score}</td>`;
}
var table = document.querySelector("#saramTable");
//var saram1 = new Saram("이순신", "장군");
//var saram2 = new Saram("세종", "왕");
//var saram3 = new Saram("안중근", "의사");
//console.dir(saram1);
//table.innerHTML = `<tr>${saram1.mkRow()}</tr>`;
//table.innerHTML += `<tr>${saram2.mkRow()}</tr>`;
//table.innerHTML += `<tr>${saram3.mkRow()}</tr>`;
var student1 = new Student("홍길동", 95);
var student2 = new Student("김길동", 85);
var student3 = new Student("박길동", 100);
console.dir(student1.mkRow2());
for(var i = 1; i <= 3; i++){
table.innerHTML += window['student' + i].mkRow2();
}
</script>
</body>
</html>
'2022 SW전문인재양성사업 > 웹 프로그래밍 기본' 카테고리의 다른 글
Javascript를 이용한 퍼즐(같은그림찾기) 구현 (0) | 2022.07.27 |
---|---|
Javascript (9) - 배열 및 인덱스 (0) | 2022.07.27 |
Javascript (7) - 캐러셀 이미지 슬라이더 실습 (0) | 2022.07.27 |
Javascript (6) - 드래그 앤 드롭 실습2 (0) | 2022.07.27 |
Javascript (5) - 드래그 앤 드롭 실습1 (0) | 2022.07.27 |