`

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.     }  

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

 

分享到:
评论

相关推荐

    JS:prototype用法

    2. **`prototype`属性**:每个函数都有一个`prototype`属性,该属性是一个对象,包含了由构造函数创建的所有实例共享的属性和方法。 **基本使用示例**: - **数字相加**:可以通过`Number.prototype.add`为所有...

    JavaScript中prototype的使用

    在JavaScript中,每个函数都有一个`prototype`属性,这个属性实际上是一个对象,它定义了该函数作为构造函数时,新创建的对象将继承的属性和方法。当创建一个新对象时,它的`__proto__`属性会指向构造函数的`...

    JavaScript的prototype

    1. **函数的prototype属性** 当我们创建一个函数时,如`function Person() {}`,`Person.prototype`就是一个对象,可以添加方法和属性。这些方法和属性可以被通过`new Person()`创建的对象共享。 2. **构造函数与...

    JavaScript_Prototype(源代码+中文手册).rar

    3. **原型对象的方法**:JavaScript中的`prototype`对象有一些内置方法,如`hasOwnProperty()`用于检查属性是否属于当前对象而不是原型链,`isPrototypeOf()`用来判断对象是否存在于原型链上,以及`toString()`等。...

    prototype.js javaScript插件

    - **扩展JavaScript对象**:Prototype.js提供了一系列方法,如`extend`和`merge`,用于方便地合并和扩展对象属性,使得代码更加简洁和可维护。 - **DOM操作**:Prototype.js封装了对DOM元素的操作,比如`Element`类...

    JavaScript prototype属性详解

    总结起来,JavaScript的`prototype`属性是用来实现对象的继承和共享方法的关键机制。通过在构造函数的`prototype`上定义方法,可以避免每个实例都存储一份相同方法的副本,从而提高内存效率。理解并掌握`prototype`...

    JavaScript prototype属性使用说明

    JavaScript中的prototype属性是一个非常重要的概念,它是ECMAScript规范定义的一部分,用于给对象的构造函数添加新方法或者修改现有方法。IE 4引入的prototype属性主要用于面向对象编程中,能够在不改变原有构造函数...

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

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

    prototype使用文档

    1. **对象扩展**:Prototype通过`Object.extend()`方法提供了对JavaScript原生对象的扩展功能,允许开发者添加新的属性和方法。 2. **类与继承**:Prototype引入了基于原型的类系统,使用`Class.create()`来创建类...

    Prototype_1.4.doc,Prototype_1.5.1.chm 中文版

    2. "Prototype_1.4.doc" - 这个文件可能是Prototype 1.4版本的文档,以.doc格式呈现,可能包含详细的类库介绍、方法和属性说明,以及可能的使用案例。 **知识点详解** 1. **Prototype库基础**:Prototype库提供了...

    PrototypeJavaScript框架

    Prototype对JavaScript的Array和Function对象进行了扩展,增加了如`Array.prototype.each()`, `Array.prototype.clone()`, `Function.prototype.bind()`等方法,提高了代码的可读性和效率。 6. **效果和动画**: ...

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

    - **内存占用**:使用`prototype`可以避免重复创建相同的方法,节省内存资源。 - **代码复用**:通过`prototype`定义的属性和方法可以被所有实例共享,提高了代码的复用性。 - **性能优势**:对于频繁调用的方法,...

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

    JavaScript中的...总结,JavaScript中的prototype属性是实现面向对象编程的重要组成部分,它涉及到继承、方法共享以及原型链等核心概念。理解并熟练运用这些知识,能够帮助开发者构建更复杂、更高效的应用程序。

    js遍历属性 以及 js prototype 和继承

    JavaScript提供了多种方法来访问和遍历对象的属性: 1. `for...in`循环:这是最常用的遍历对象属性的方法。它会遍历对象的所有可枚举属性,包括从原型链继承的属性。例如: ```javascript let obj = {a: 1, b: 2,...

    prototype 1.6 API 中文版

    2. **对象增强(Object Extension)**:Prototype 提供了`$.extend()`函数,可以将一个对象的属性和方法合并到另一个对象上,这是一种强大的对象组合和扩展机制。 3. **DOM操作**:Prototype 提供了一系列方便的DOM...

    prototype开发文档和prototype.js文件

    `prototype.pdf`很可能是Prototype的开发文档,通常这类文档会详细介绍Prototype库的API、使用方法、示例代码以及最佳实践。通过阅读这份文档,开发者可以深入理解Prototype的各种功能和用法,提高开发效率。 学习...

    javascript的prototype继承

    JavaScript的原型继承是其面向对象编程的一大特性,它基于原型链机制实现,允许一个对象可以从另一个对象继承属性和方法。这种继承方式不同于类继承,而是通过将子类的原型对象设置为父类的一个实例来实现。 在...

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

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

    JavaScript使用prototype定义对象类型

    当我们创建一个对象时,JavaScript 会自动将该对象的 prototype 属性指向一个默认的对象,该对象包含了一些基本的方法和属性。我们可以通过prototype 属性来扩展和修改对象的行为。 二、使用 Prototype 定义对象...

    JavaScript prototype对象的属性说明

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

Global site tag (gtag.js) - Google Analytics