手机版

Javascript播放和继承(3)

时间:2021-11-08 来源:互联网 编辑:宝哥软件园 浏览:

首先来看非主流继承:示例继承法。我不会说那么多废话。既然是非主流继承,就一定不能常用。既然还存在,那就只有一个因素,是用于特定场合的。实例继承方法主要用于核心对象的继承,也是目前为止解决核心对象继承的唯一方法。核心对象的继承有一定的价值,比如Error对象。我们公司可能不得不实现一个错误类来简化未来的开发。此时,我将使用实例继承方法来继承Error。代码如下:复制代码如下:函数扩展错误(mes){ var instance=new error(mes);实例。NewError=function(){ alert('您的错误是' mes ');}返回实例;}好的,测试中:复制代码如下: var e=新扩展错误('你的数字小于一');e . NewError();alert(e . ToString());让我们对结果满意:

好了,废话不多说,这是一个非主流的继承方法,基本上只用于核心对象的继承,记住就好!接下来我们来看看第二个非主流继承:复制继承。顾名思义,复制继承就是通过复制来继承对象。复制了什么?显然,是对象的属性和方法。请记住,在Javascript中,类实际上是一个哈希表?如果记不住,就回去复习基础。过一会儿我可能会写一篇关于Javascript对象的文章。这很容易理解。直接看代码:首先写一个Extend方法:复制代码如下:function。原型。extend=function(){ for(var pro in obj){//这实际上是父类的属性和方法的完整副本。this . prototype[pro]=obj[pro];}}好的,写一段代码看看怎么用:复制代码如下: Function Animal(){ } Function People(){ } People。Extend (New Animal ()) {}乍一看,这种方法的缺点太明显了:在逐个复制对象的属性方法时,实际上使用的是反射,所以反射对效率的损害我就不多说了。像原型继承一样,父类对象必须被初始化。当继承关系确定,但参数不确定时,就不行了!总之,一般不采用这种方法。好吧,这是一个常见的事情。混合继承!这是基于两种主流的继承方法。对比两种继承方式,可以发现两种继承方式的优缺点是互补的,所以很容易处理,混合在一起!复制代码如下:函数人(名称){this。name=name这个。SayName=function(){ alert('我的名字是' name ');} }函数Girl(姓名、年龄){ //构造继承此.父亲=人;父亲(姓名);删除这个。父亲;这个。introduction=function(){ alert('我的名字是' name ')。我是‘年龄’;} }//原型继承girl . prototype=new People();好了,两种方式的混合,现在看,问题解决了吗?var g=新少女('宣',22);警报(例如人);g . SayName();g .介绍();

测试通过!这是一个相对完美的解决方案,但是增加了代码的复杂度,所以具体的解决方案要看大家在实践中的选择。以上就是Javascript玩继承的全部内容。请继续关注我的其他文章。

版权声明:Javascript播放和继承(3)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。