[1교시]
#사용자가 새로운 타입의 객체 작성 가능 : 3가지 방법
-직접 객체 만들기
new Object() 이용
리터럴 표기법 이용
-객체의 틀(프로토타입)을 만들고 객체 생성하기
[2교시]
#리터럴 표기법으로 만들기
-과정
중괄호를 이용하여 객체의 프로퍼티와 메소드 지정
*배열처럼 문장 끝에 세미콜론(;)이 아닌 콤마(,)로 구분
*객체 프로퍼티에 할당된 함수를 메서드(method) 라고 부른다
[3교시]
#프로토타입
-프로토타입(prototype)이란?
객체의 모양을 가진 틀
붕어빵은 객체이고, 붕어빵을 찍어내는 틀은 프로토타입
C++,Java에서는 프로토타입을 클래스라고 부름
Array, Date, String : 자바스크립트에서 제공하는 프로토타입
객체 생성시 'new 프로토타입' 이용
var week = new Array(7); //Array는 프로토타입임
var hello = new String( "hello" ); //String은 프로토타입임
[4교시]
#339p 연습문제 5
var money = new Array (3);
money[0] = 5;
mo0ney[1] = 7;
money[2] = -3;
var sum = 0;
for(i=0; i<money.length ; i++) sum += money[i];
document.write(sum/money.length);
#340p 연습문제 9
var student = new Object();
student.id = 1;
student.name = "kitae";
student.grade = 3.9;
--------------------------------------
student 객체를 생성한 다음 코드를 리터럴 표기 방식으로 작성
var student = {
id = 1,
name : "kitae",
grade : 3.9
};
---------------------------------------
[5교시]
#340p 연습문제10
var box = {
color : "red",
size : 10,
amount : 0,
fill : function() { this.amount = 2; },
consume : function() { this.amount -= 2; }
};
---------------------------------------------------------------------------------------------
(1)box 객체를 new Object()를 이용하는 방법으로 다시 작성하라.
<script>
function fill() {
this.amount += 2;
}
function consume() {
this.amount -= 2;
}
</script>
<script>
var box = new Object() ;
box.color = "red";
box.size = 10;
box.amount = 0;
box.fill = fill;
box.consume = consume;
</script>
---------------------------------------------------------------------------------------------
[개인메모]
(2)다음 주석에 지정된 대로 자바스크립트 코드를 작성하라.
//box 객체의 fill() 메소드 호출
box.fill();
//document.write()로 amount 프로퍼티 값 출력
document.write(box.amount);
//box 객체의 consume() 메소드 호출
box.consume();
//document.write()로 amount 프로퍼티 값 출력
document.write(box.amount);
(3)앞의 문제 (2)의 실행 결과 출력되는 것은 무엇인가?
2
---------------------------------------------------------------------------------------------
"차근차근 열심히, 서두르지 말고 천천히 전진"