分类:
Web应用开发
2009-01-20 21:41
3595人阅读
收藏
举报
参考:
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中实现成员函数的定义,甚至是“继承”的效果。
一个简单的示例如下:
-
Number.prototype.add =
function
(num){
return
(
this
+num);}
这是对已有类添加方法。这样写,可以增强已有类的功能,例如可以给Array类增加push方法如下:
-
Array.prototype.push =
function
(new_element){
-
this
[
this
.length]=new_element;
-
return
this
.length;
-
}
对于自定义的类(或者称函数对象),也可以这样写:
-
function MyApplication() {
-
this
.counter = 0;
-
this
.map =
new
GMap2(document.getElementById(
"map_canvas"
));
-
this
.map.setCenter(
new
GLatLng(39.917,116.397), 14);
-
GEvent.bind(this
.map,
"click"
,
this
,
this
.onMapClick);
-
}
-
-
MyApplication.prototype.onMapClick = function() {
-
this
.counter++;
-
alert("这是您第 "
+
this
.counter +
" 次点击地图"
);
-
}
这里定义了创建地图的类,并且为其定义了“单击”事件的响应函数。
分享到:
相关推荐
2. **`prototype`属性**:每个函数都有一个`prototype`属性,该属性是一个对象,包含了由构造函数创建的所有实例共享的属性和方法。 **基本使用示例**: - **数字相加**:可以通过`Number.prototype.add`为所有...
在JavaScript中,每个函数都有一个`prototype`属性,这个属性实际上是一个对象,它定义了该函数作为构造函数时,新创建的对象将继承的属性和方法。当创建一个新对象时,它的`__proto__`属性会指向构造函数的`...
1. **函数的prototype属性** 当我们创建一个函数时,如`function Person() {}`,`Person.prototype`就是一个对象,可以添加方法和属性。这些方法和属性可以被通过`new Person()`创建的对象共享。 2. **构造函数与...
3. **原型对象的方法**:JavaScript中的`prototype`对象有一些内置方法,如`hasOwnProperty()`用于检查属性是否属于当前对象而不是原型链,`isPrototypeOf()`用来判断对象是否存在于原型链上,以及`toString()`等。...
- **扩展JavaScript对象**:Prototype.js提供了一系列方法,如`extend`和`merge`,用于方便地合并和扩展对象属性,使得代码更加简洁和可维护。 - **DOM操作**:Prototype.js封装了对DOM元素的操作,比如`Element`类...
总结起来,JavaScript的`prototype`属性是用来实现对象的继承和共享方法的关键机制。通过在构造函数的`prototype`上定义方法,可以避免每个实例都存储一份相同方法的副本,从而提高内存效率。理解并掌握`prototype`...
JavaScript中的prototype属性是一个非常重要的概念,它是ECMAScript规范定义的一部分,用于给对象的构造函数添加新方法或者修改现有方法。IE 4引入的prototype属性主要用于面向对象编程中,能够在不改变原有构造函数...
主要介绍了JavaScript使用prototype属性实现继承操作,结合实例形式详细分析了JavaScript使用prototype属性实现继承的相关原理、实现方法与操作注意事项,需要的朋友可以参考下
1. **对象扩展**:Prototype通过`Object.extend()`方法提供了对JavaScript原生对象的扩展功能,允许开发者添加新的属性和方法。 2. **类与继承**:Prototype引入了基于原型的类系统,使用`Class.create()`来创建类...
2. "Prototype_1.4.doc" - 这个文件可能是Prototype 1.4版本的文档,以.doc格式呈现,可能包含详细的类库介绍、方法和属性说明,以及可能的使用案例。 **知识点详解** 1. **Prototype库基础**:Prototype库提供了...
Prototype对JavaScript的Array和Function对象进行了扩展,增加了如`Array.prototype.each()`, `Array.prototype.clone()`, `Function.prototype.bind()`等方法,提高了代码的可读性和效率。 6. **效果和动画**: ...
- **内存占用**:使用`prototype`可以避免重复创建相同的方法,节省内存资源。 - **代码复用**:通过`prototype`定义的属性和方法可以被所有实例共享,提高了代码的复用性。 - **性能优势**:对于频繁调用的方法,...
JavaScript中的...总结,JavaScript中的prototype属性是实现面向对象编程的重要组成部分,它涉及到继承、方法共享以及原型链等核心概念。理解并熟练运用这些知识,能够帮助开发者构建更复杂、更高效的应用程序。
JavaScript提供了多种方法来访问和遍历对象的属性: 1. `for...in`循环:这是最常用的遍历对象属性的方法。它会遍历对象的所有可枚举属性,包括从原型链继承的属性。例如: ```javascript let obj = {a: 1, b: 2,...
2. **对象增强(Object Extension)**:Prototype 提供了`$.extend()`函数,可以将一个对象的属性和方法合并到另一个对象上,这是一种强大的对象组合和扩展机制。 3. **DOM操作**:Prototype 提供了一系列方便的DOM...
`prototype.pdf`很可能是Prototype的开发文档,通常这类文档会详细介绍Prototype库的API、使用方法、示例代码以及最佳实践。通过阅读这份文档,开发者可以深入理解Prototype的各种功能和用法,提高开发效率。 学习...
JavaScript的原型继承是其面向对象编程的一大特性,它基于原型链机制实现,允许一个对象可以从另一个对象继承属性和方法。这种继承方式不同于类继承,而是通过将子类的原型对象设置为父类的一个实例来实现。 在...
我猜一般用过JavaScript的人都看见过或者用过对象的prototype属性。这是个好东西,它可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。详细介绍:...
当我们创建一个对象时,JavaScript 会自动将该对象的 prototype 属性指向一个默认的对象,该对象包含了一些基本的方法和属性。我们可以通过prototype 属性来扩展和修改对象的行为。 二、使用 Prototype 定义对象...
一、什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会”继承”赋予该对象原型的...