`

JavaScript:prototype属性使用方法 【转】

 
阅读更多

分类: Web应用开发 3595人阅读 评论 (4) 收藏 举报

参考:
http://bokee.shinylife.net/blog/article.asp?id=455
http://dev.csdn.net/article/84222.shtm
http://www.cnblogs.com/goody9807/archive/2007/04/16/715109.html

一、基本使用方法

      prototype属性可算是JavaScript与其他面向对象语言的一大不同之处。

简而言之,prototype就是“一个给类的对象添加方法的方法”,使用prototype属性,可以给类动态地添加方法,以便在JavaScript中实现“继承”的效果。 

      具体来说,prototype 是在 IE 4 及其以后版本引入的一个针对于某一类的对象的方法,当你用prototype编写一个类后,如果new一个新的对象,浏览器会自动把prototype中的内容替你附加在对象上。这样,通过利用prototype就可以在JavaScript中实现成员函数的定义,甚至是“继承”的效果。

      一个简单的示例如下:

[javascript:nogutter] view plain copy
  1. Number.prototype.add =  function (num){ return ( this +num);}  

这是对已有类添加方法。这样写,可以增强已有类的功能,例如可以给Array类增加push方法如下:

[javascript:nogutter] view plain copy
  1. Array.prototype.push =  function (new_element){  
  2.         this [ this .length]=new_element;  
  3.         return   this .length;  
  4.     }  

对于自定义的类(或者称函数对象),也可以这样写:

[c-sharp] view plain copy
  1. function MyApplication() {  
  2.     this .counter = 0;  
  3.     this .map =  new  GMap2(document.getElementById( "map_canvas" ));  
  4.       this .map.setCenter( new  GLatLng(39.917,116.397), 14);  
  5.       GEvent.bind(this .map,  "click" this this .onMapClick);  
  6.     }  
  7.           
  8.     MyApplication.prototype.onMapClick = function() {  
  9.       this .counter++;  
  10.       alert("这是您第 "  +  this .counter +  " 次点击地图" );  
  11.     }  

这里定义了创建地图的类,并且为其定义了“单击”事件的响应函数。

 

分享到:
评论

相关推荐

    JavaScript使用prototype属性实现继承操作示例

    主要介绍了JavaScript使用prototype属性实现继承操作,结合实例形式详细分析了JavaScript使用prototype属性实现继承的相关原理、实现方法与操作注意事项,需要的朋友可以参考下

    JavaScript prototype属性详解

    每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型...

    JavaScript中对象的prototype属性代码实例

    我猜一般用过JavaScript的人都看见过或者用过对象的prototype属性。这是个好东西,它可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。详细介绍:...

    JavaScript prototype对象的属性说明

    一、什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会”继承”赋予该对象原型的...

    JavaScript使用Prototype实现面向对象的方法

    本文实例讲述了JavaScript使用Prototype实现面向对象的方法。分享给大家供大家参考。具体分析如下: prototype 是 Function 对象的一个属性,这个属性指向另一个对象。 这个对象的所有属性和方法,都会被构造函数的...

    Javascript中prototype属性实现给内置对象添加新的方法

    本文实例讲述了Javascript中prototype属性实现给内置对象添加新的方法。分享给大家供大家参考。具体实现方法如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...

    JavaScript通过prototype给对象定义属性用法实例

    本文实例讲述了JavaScript通过prototype给对象定义属性的用法。分享给大家供大家参考。具体分析如下: 下面的JS代码定义了movie对象。在使用对象的过程中又通过prototype给对象添加了isComedy属性,调用的时候直接...

    JavaScript类和继承 prototype属性

    我们已经在第一章中使用prototype属性模拟类和继承的实现。 prototype属性本质上还是一个JavaScript对象。 并且每个函数都有一个默认的prototype属性。 如果这个函数被用在创建自定义对象的场景中,我们称这个函数为...

    javascript中的prototype属性使用说明(函数功能扩展)

    这是一个比较特殊的属性,Javascript中的继承一般都依赖这属性实现。 在Javascript中,一切都是对象,字符串是对象,数组是对象,变量是对象,函数也是对象,所以才会允许[‘a’,’b’,’c’].push(‘d’);这样的...

    javascript prototype原型详解(比较基础)

    每一个函数都具有一个prototype属性。 此属性是一个指针,能够指向一个对象,而此对象将会被由构造函数创建的对象实例所共享,也就是会继承此对象。 总结:prototype所指向的对象是被构造函数所创建的对象实例所共同...

    JavaScript中通过prototype属性共享属性和方法的技巧实例

    主要介绍了JavaScript中通过prototype属性共享属性和方法的技巧实例,本文直接给出一个代码实例,需要的朋友可以参考下

    JavaScript中的prototype(原型)属性研究

    JavaScript中的prototype(原型)属性研究

    JavaScript中的原型prototype属性使用详解

    prototype属性可以将属性和方法添加到任何对象(Number, Boolean, String 和Date等)。 注:原型(Prototype)是一个全局的属性,它可以使用在几乎所有的对象。 语法 object.prototype.name = value 实例: 这里有一个...

    javascript面向对象之共享成员属性与方法及prototype关键字用法.docx

    javascript面向对象之共享成员属性与方法及prototype关键字用法.docx

    理解JavaScript的prototype属性

    Function的原型和它的prototype属性无关 对象的原型可以通过非标准的属性 __proto__ 或ECMAScript5的方法 Object.getPrototypeOf() 访问。 1其实是错的,Object这个原型链尽头的对象它没有原型。可是为了更简单表述...

    详解Javascript中prototype属性(推荐)

    主要介绍了Javascript中prototype属性的相关资料,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧

    Javascript中 关于prototype属性实现继承的原理图

    Javascript中关于prototype属性实现继承的原理图

    JavaScript prototype属性使用说明

    prototype 是在 IE 4 及其以后版本引入的一个针对于某一类的对象的方法,而且特殊的地方便在于:它是一个给类的对象添加方法的方法!

Global site tag (gtag.js) - Google Analytics