时间:2021-05-26
本文实例分析了JS继承的用法。分享给大家供大家参考。具体分析如下:
继承 : 子类不影响父类,子类可以继承父类的一些功能 ( 代码复用 )
属性的继承 : 调用父类的构造函数 call
方法的继承 : for in : 拷贝继承 (jquery也是采用拷贝继承extend)
1. 拷贝继承
function Person (name){ this.name = name;}Person.prototype.showName =function (){ alert(this.name);}function Worker(name,job){ Person.call(this,name); this.job = job;}extend(Worker.prototype, Person.prototype);//如果用Worker.prototype=Person.prototype的话,会造成引用相同的问题function extend(obj1,obj2){ for(var i in obj2){ obj1[i] = obj2[i] }}var coder = new Worker('magicfly','frontEnd');coder.showName();2. 类继承
function Person (name){ this.name = name;}Person.prototype.showName =function (){ alert(this.name);}function Worker(name,job){ Person.call(this,name); this.job = job;}//Worker.prototype = new Person();// 这样继承会继承父级的不必要属性 function F(){};F.prototype = Person.prototype;Worker.prototype = new F();//通过建立一个临时构造函数来解决 ,也称为代理函数var coder = new Worker('MAGICFLY','START');coder.showName();3. 原型继承
var a = { name : '小明'};var b = cloneObj(a);b.name = '小强';//alert( b.name );alert( a.name );function cloneObj(obj){ var F = function(){}; F.prototype = obj; return new F();}适用情况
拷贝继承: 通用型的 有new或无new的时候都可以
类式继承: new构造函数
原型继承: 无new的对象
希望本文所述对大家的javascript程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了js对象继承之原型链继承的用法。分享给大家供大家参考。具体分析如下:复制代码代码如下://定义猫的对象varkitty={color:'yello
本文实例讲述了JS函数进阶之继承用法。分享给大家供大家参考,具体如下:直接代码,不解释:js函数继承进阶functionperson(name,age){//对
本文实例分析了JavaScript中继承的用法。分享给大家供大家参考。具体如下://definethePersonClassfunctionPerson(){}
本文实例分析了javascript原型链继承的用法。分享给大家供大家参考。具体分析如下:复制代码代码如下:functionShape(){this.name='
本文实例分析了C#接口(Interface)用法。分享给大家供大家参考。具体分析如下:继承"基类"跟继承"接口"都能实现某些相同的功能,但有些接口能够完成的功能