아래 답
- 머리가 지끈하다. 너무 어렵게 접근하고 있는듯.
내가 원하는 것 :
prototype을 이용하여 메소드를 추가하고 싶다.
문제 :
prototype 속성을 이용해 추가 해도, undefined만 난다.
결론 :
prototype은 나(현재 객체)에 메소드를 추가하느냐, 새 객체에 적용하느냐 에 따라 다르다.
책에선 인스턴스를 이용하여 객체를 생성하는 것을 퉁쳐서 [상속] 이라고 표현한다.
자바에선 각각의 상태에 따라 다 용어가 달라서 서로가 헷갈리는 일이 없는데.
1. 현재의 메소드에 메소드 추가
function AAA()
{
this.width = 3;
this.height = 4;
return '너 밉상이다.';
}
AAA.getArea = function()
{
return '니가 더 밉상이다';
}
alert( AAA()); // 너 밉상이다
alert( AAA.getArea()); // 니가더 밉상이다
alert( AAA); //함수 몸체
// 의문점 AAA안의 this.width에 접근할 방법을 모르겠다.
2. 상속받은 객체에 메소드를 추가할때
function AAA()
{
this.width = '너밉상이다';
this.height = ' 네가 더 밉상이야';
}
AAA.prototype.getArea = function()
{
return this.width + this.height;
}
var objAAA = new AAA();
alert( objAAA.getArea());