当前位置:首页 > 日记 > 正文

Javascript非参数和参数类继承问题求解方法

Javascript非参数和参数类继承问题求解方法
在Javascript的类继承中,原型链是不可避免的,但只有通过原型链才能继承。

非参数类继承问题

首先看一个示例代码,实现从a继承:

复制代码代码如下所示:

函数A(){

}

a.prototype.a1 =函数(){ };

函数B(){

}

b.prototype =新一();

b.prototype.b1 =函数(){ };

新的b();

警报(b.constructor = =一个); / /真的

警报(b.constructor = = b); / /假
这个代码的主要问题是:

1。需要将A实例化为B的原型,然后执行a的构造函数。然而,在B被实例化之前,B和它的父类a的构造函数不应该按照面向对象规则执行。

2。改变B的原型,造成b.constructor不但是B A.

关于继承的问题

假设a和b有两个字符串参数S1和S2,则两个段字符串的总长度在a中计算,而b直接与S1和S2的参数直接调用。

复制代码代码如下所示:

函数A(S1,S2){

this.totallength = s1.length + s2.length;

}

a.prototype.a1 =函数(){

};

函数B(S1,S2){

}

b.prototype =新一();

b.prototype.b1 =函数(){

};

新的b( ab)
正如您所看到的,在这个代码中没有办法将S1和S2传递给a,并且有一个例外,因为A被实例化为B原型。

复制代码代码如下所示:

S1是未定义的
解决方案

S1和S2的范围仅在B中,并将它们传递给a,只能在函数的应用方法的帮助下,才能在b中操作。

复制代码代码如下所示:

函数B(S1,S2){

A.apply(这个参数);

(此为警戒。);

}
接下来的问题是如何添加一个方法的原型,这并不难,只是在a.prototype和复制的方法b.prototype.it重点注意的是,对于同一个名字的方法,它是自然类优先(超载),因此不能盖:

复制代码代码如下所示:

对于(var m a.prototype){

如果(!b.prototype {米})方法不能覆盖{ / /父类

b.prototype { } = { } a.prototype M M;

}

}
后记

考虑到如C #,java高级语言,和其他高级语言已经放弃了多重继承,本文只是一个单一的继承。在这篇文章中描述的继承法也将被作为jraiser的延伸,这就是后来的释放。

相关文章

利用PS图象处理软件渠道黑猫抠图

利用PS图象处理软件渠道黑猫抠图

抠图,渠道,黑猫,图象,处理软件,本教程介绍PS图象处理软件渠道对黑猫抠图方法的朋友使用,非常实用的教程,对于初学者来说,非常值得学习,推荐给朋友,爱可以跟着教程学习 本教程主要是利用PS图象处理软件的渠道,黑猫消光效果,方法并不难,你可以学习铺…

PHP将信息保存到当前会话的方式

PHP将信息保存到当前会话的方式

信息保存,方式,电脑软件,PHP,本文演示了PHP将信息保存到当前会话的方式: 在PHP中,会话变量可以保存_session美元,和下面的代码演示了使用简单的_session美元 session_start(); 打印(); _session美元{更多=w3m ; 打印(值保存在会话命名为更多。; _sess…

如何缩短无休止修理时间提高效率

如何缩短无休止修理时间提高效率

提高效率,修理时间,电脑软件,我们有客人,基本上没有对后期的模型、条件和数字,用精致的修饰让人物更加完美,但修饰的朋友,所经历的痛苦吧,天天熬夜,在这里萧边提出了提高效率的修饰秘密,一看 今天我们要讲的是如何减少画画的时间,把更多的时间花在…

烟花画线状直线旋转的特技效果

烟花画线状直线旋转的特技效果

特技,直线,烟花,画线,效果,本教程是介绍利用烟花画出直线旋转出的网络效果,巧妙地利用了修改后的焰火-比如说元素的功能,画出的效果非常有趣,请大家提出来,有兴趣的朋友赶快学习。 本教程是介绍利用烟花画出直线旋转出的网络效果,巧妙地使用焰火…

PHP实现了将数组转换成xml的方法。

PHP实现了将数组转换成xml的方法。

方法,数组,转换成,实现了,电脑软件,本文演示了通过PHP实现将数组转换成XML的方法: 1。PHP代码如下所示: 类a2xml { 私人版本= '1.0美元; 美元的私人'utf-8编码=; 私人'root的根=美元; 私有$ xml = null; 功能__construct(){ 美元-> XML =新的…

一种JS控制表实现流水划分线的方法

一种JS控制表实现流水划分线的方法

方法,控制,流水,电脑软件,JS,本文以一个JS控制表为例,介绍了一种实现光流分割的方法,供大家参考,具体分析如下: 这是一个非常漂亮的分割代码。 事实上,它是一个七色流线型的交叉线,它是通过使用JS控件窗体实现的。 复制代码代码如下所示: js用…

ai在被咬的梨上画箭头

ai在被咬的梨上画箭头

箭头,上画,电脑软件,ai,本教程介绍朋友艾画箭头yaodiao通过梨的方法,是基础教程,适合初学者学习,推荐,喜欢的朋友一起跟着教程一起学习。 在本教程中,我们将学会用ai的朋友来绘制被咬过的梨箭,制作教程并不难,使得这种方法比较简单,适合新手朋友学…

如何使用CDR轮廓(交互式轮廓)工具

如何使用CDR轮廓(交互式轮廓)工具

轮廓,交互式,工具,如何使用,电脑软件,以下是萧边介绍用CDR的轮廓的方式(交互式轮廓工具)。很适合初学者学习。 等高线图(交互等高线图)、绘图图形、标志等经常使用其等高线图(交互等高线)是一种非常实用实用的工具。下面的小编将介绍如何使用CDR…

ai笔刷制作超酷字体

ai笔刷制作超酷字体

字体,超酷,笔刷,电脑软件,ai,本教程是介绍朋友们制作的超酷画笔笔刷字体,用AI做的画笔很酷,难度不是很大。让我们一起学习 在这里我们带来了ai刷刷制作的超酷字体教程,希望对你有所帮助!…

对fs.stat方法在Node.js的使用说明

对fs.stat方法在Node.js的使用说明

使用说明,方法,电脑软件,fs,stat,方法显示: 获取文件信息。 Grammar: 复制代码代码如下所示: fs.stat(路径,{回调(呃,STATs))) 由于此方法属于fs模块,因此需要在使用之前引入FS模块(var FS =需求(fs))。 接收参数: 路径的文件路径 回调回调,传递两个…

PS图象处理软件画红色复古纹理按钮

PS图象处理软件画红色复古纹理按钮

纹理,红色,图象,处理软件,按钮,本教程教UI设计朋友使用ps制作纹理复古按钮。所画的按钮非常漂亮,质量也很好,建议与朋友分享你的学习成果。 本教程是由UI设计学习者教的,使用ps创建一个纹理化的复古按钮,它有很好的效果和很强的质量感。有兴趣…

该杂志的详细制作技术

该杂志的详细制作技术

杂志,详细,技术,电脑软件,本教程讲解CorelDRAW的朋友的杂志的排版技术,属于纯理论的教程,但是很实用,对于学习者来说是一个很好的教程,好吧,让我们一起来看看 本教程介绍了CorelDRAW的杂志的排版技术的朋友,大家看看吧! 谈到印前制作工作的范畴,就…