如何实现类的继承呢?
有如下2个构造函数:
function PeopleClass(){ this.type = "人"; }; PeopleClass.ptototype = { getType:function(){ alert("这是一个人"); } }; function StudentClass(name,sex){ this.name = name; this.sex = sex; };
如何让『学生』对象来继承『人』对象呢?可使用apply方法将父对象的构造函数绑定在子对象上,代码如下:
function PeopleClass(){ this.type = "人"; }; PeopleClass.ptototype = { getType:function(){ alert("这是一个人"); } }; function StudentClass(name,sex){ PeopleClass.apply(this,arguments); this.name = name; this.sex = sex; }; var stu = new StudentClass("lily","男"); alert(stu.type); //[人]
从运行的结果来看,StudentClass继承了PeopleClass的属性『人』。
而方法的继承,只要循环使用父对象的prototype进行复制,即可达到继承的目的。方法如下:
function StudentClass(name,sex){ PeopleClass.apply(this,arguments); var prop; for(prop in PeopleClass.prototype){ var proto = this.constructor.prototype; if(!proto[prop]){ proto[prop] = PeopleClass.prototype[prop]; } proto[prop]["super"] = PeopleClass.prototype; } this.name = name; this.sex = sex; }; var stu = new StudentClass("lily","女"); alert(stu.type); //[人] stu.getType(); //[这是一个人]
以上就是js中继承的实现。
感兴趣的朋友可以使用在线HTML/CSS/JavaScript代码运行工具:测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》