对JavaScript继承机制的猜想

本人初学Javascript,感觉与java的继承相比,JavaScript的继承很有意思。

 

function Person(me){
	me.name="yjd";
	me.age=23;
	me.myConstructor=Person;
	return me;
}

function New(C){
	var me;
	if(C.myPrototype==undefined || C==C.myPrototype.constructor){
		me=Object();
	}else{
		me=New(C.myPrototype.myConstructor);
	}

	C(me);
	return me;
}

//原型继承
function Student(me){
	me.school="海德中学";
	me.myConstructor=Student;
	return me;
}
Student.myPrototype=New(Person);

var a=New(Student);

alert(a.name);
alert(a.age);
alert(a.school);

//模拟继承
function Student2(me){
	Person(me);
	me.school="海德中学";
	me.myConstructor=Student;
	return me;
}

var b=New(Student2);

alert(b.name);
alert(b.age);
alert(b.school);
  真正的继承是否这样我不得而知,也不知道自己的猜想是否合理。注意代码中的New(),它用来模仿new关键字,其中使用了递归要仔细看呀。

你可能感兴趣的:(JavaScript,C++,c,C#)