你的位置:首页 > 软件开发 > Java > JS中的prototype

JS中的prototype

发布时间:2016-07-21 18:02:23
JS中的phototype是JS中比较难理解的一个部分 本文基于下面几个知识点: 1 原型法设计模式在.Net中可以使用clone()来实现原型法原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。 2 j ...

JS中的phototype是JS中比较难理解的一个部分

 

本文基于下面几个知识点:

 

1 原型法设计模式

在.Net中可以使用clone()来实现原型法

原型法的主要思想是,现在有1个类A,我想要创建一个类B,这个类是以A为原型的,并且能进行扩展。我们称B的原型为A。

 

2 javascript的方法可以分为三类:

a 类方法

b 对象方法

c 原型方法

例子:

JS中的prototype //测试var p1=new People("Windking");p1.Introduce();People.Run();p1.IntroduceChinese(); function baseClass()function extendClass()extendClass.prototype = new baseClass();

我们首先定义了baseClass类,然后我们要定义extentClass,但是我们打算以baseClass的一个实例为原型,来克隆的extendClass也同时包含showMsg这个对象方法。

extendClass.prototype = new baseClass()就可以阅读为:extendClass是以baseClass的一个实例为原型克隆创建的。

 

那么就会有一个问题,如果extendClass中本身包含有一个与baseClass的方法同名的方**怎么样?

下面是扩展实验2:

function baseClass()function extendClass()extendClass.prototype = new baseClass();instance.showMsg();//显示extendClass::showMsgextendClass.prototype = new baseClass();<script type="text/javascript">function baseClass()function extendClass()extendClass.prototype = new baseClass();instance.showMsg(); //显示extendClass::showMsgbaseClass.showMsg.call(instance);//显示baseClass::showMsg staticvar baseinstance = new baseClass();</script>

原标题:JS中的prototype

关键词:JS

JS
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。