Javascript玩转Prototype(二)

2014-06-09
浏览
导读:上文一直在罗嗦GOF的原型模式,在本文中讲开始正式讨论Javascript的Prototype。对于Javascript的初学者来说,Prototype是个蛮高深的话题,其实并不尽然。 我说

上文一直在罗嗦GOF的原型模式,在本文中讲开始正式讨论Javascript的Prototype。对于Javascript的初学者来说,Prototype是个蛮高深的话题,其实并不尽然。

我说不尽然,意思是说理解Prototype的一般用法很简单。但是真正能做到融会贯通理解Prototype确实是件很难的事情。

今天我就从Prototype的基本开始讲。上文中我讲了原型模式。其实在Javascript中原型也是这个意思。Javascript中对象的原型属性的解释是:返回对象类型原型的引用。这是一个晕人的解释。其实就是指定了一个需要复制的对象。

文字再多也不如代码,上代码,说最简单的,任何类都继承自Object类:

function A()
{    }
A.prototype=new Object();

其实这样就相当于Object对象是A的一个原型,这样就相当于了把Object对象的属性和方法复制到了A上,和原型模式的精髓一样吧!

好,大概了解了prototype的基本用法,我们来看看原型究竟有什么用处。

最简单的用法,动态扩展类的方法和属性。

function People()
{
 this.Jump=function(){
 alert("I can jump");
}
}

现在要扩充方法:

People.prototype.Run=function(){
 alert("I can run,too");
}

好,测试下:

var p=new People();
p.Jump();
p.Run();

js代码实现轮播图

js实现上传按钮并显示缩略图小轮子

js实现无缝轮播图特效

Node.js API详解之 os模块用法实例分析

详解react组件通讯方式(多种)