플밍

실행만 해보면 javascript 의 상속받기를 이해할 수 있는 문장 본문

카테고리 없음

실행만 해보면 javascript 의 상속받기를 이해할 수 있는 문장

너구리안주 2009. 1. 7. 21:12

남들은 간단하게 생각하던데 난 javascript가 너무나 어렵다. ㅠㅠ
상속에서 고생고생 물어물어 겨우 이해를 했다.
아래 문장은 고생끝에 터득한 javascript의 상속방법을 함축적으로 나타낸 코드이다
복사해서 하나하나씩 뜨는 경고창을 따라 분석해 보면 상속관계를 쉽게 알 수 있을것 같다.

※ 일반적인 주의점 : prototype을 작성할때 여러 메소드를 묶어 하나의 json 문법으로 만들지 않는다
   - 상속할때 괴롭다.  부모의 prototype을 받을 방법이 없어진다.

#ads_1

<html>
<head>
<script type='text/javascript' language='javascript'>
var Super = function(){
 alert('Super의 Constructor 실행');
};
Super.prototype.aaa = function(){
 alert('Super의 aaa() 호출');
}

var Child = function(){
 alert('Child의 Constructor 실행');
    this.ccc();
}

Child.prototype = new Super();  //<== 요 문장이 핵심이다.  이해안되면 걍 외우기~

Child.prototype.ccc = function(){
   alert('Child의 ccc를 호출했다');
}

function test(){
 var obj = new Child();
 obj.bbb();
}


</script>

</head>
<body>
<a href="javascript:test();">실행</a>
</body>
</html>



※ new 로 생성했을경우의 내부 실행 : prototype->함수호출(생성자가됨)->prototpe리턴(객체)
※ 그냥 호출 했을경우의 내부 실행    : 함수호출
그러므로 new 로 생성해야 함.

#ads_1





Comments