感觉与java的继承相比,JavaScript的继承很有意思。function Person(me){me.name="yjd";me.age=23;me.myConstructor=Person;r
感觉与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关键字,其中使用了递归要仔细看呀。