var JsObject = {} || new Object();
JsObject.extend = function(subClass, superClass){
// 먼저 하위 클래스인 subClass가 정의되어 있는지 확인합니다. 그렇지 않은 경우 클래스를 다시 정의합니다.
if(typeof subClass == "undefine")subClass = function(){};
//부모 클래스 superClass가 클래스인 경우 객체로 변환
if(typeof superClass == " function") superClass = new superClass();
// 상위 클래스의 superClass 객체에 있는 속성과 메서드를 탐색합니다.
for(var p in superClass)
{
/* 속성 합계 및 상위 클래스의 superClass 객체에 있는 메소드 메소드는 하위 클래스의 프로토타입 객체인
에 복사됩니다. 따라서 하위 클래스는 상위 클래스의 특성인 상속*/ 을 모두 갖습니다.
subClass.prototype[p] = superClass[p];
return subClass;
function Student()
{
this.name = "장산"; = function(name){
this.name = name ;
}
}
function Class1()
{
this.sex =
this. updateSex = function(sex){
this.sex = sex;
}
}
//정의 클래스 Class1은 Student 클래스를 상속합니다.
Class1 = JsObject.extend(Class1, Student);
var obj = new Class1();
alert(obj.name);
obj.updateName( "Mary");
alert(obj.sex);
alert(obj.name)
결과는 다음과 같습니다: 남성, Zhang San, 여성