分类:
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 +
" 次点击地图"
);
-
}
这里定义了创建地图的类,并且为其定义了“单击”事件的响应函数。
分享到:
相关推荐
主要介绍了JavaScript使用prototype属性实现继承操作,结合实例形式详细分析了JavaScript使用prototype属性实现继承的相关原理、实现方法与操作注意事项,需要的朋友可以参考下
每个函数都有一个prototype属性,这个属性是指向一个对象的引用,这个对象称为原型对象,原型对象包含函数实例共享的方法和属性,也就是说将函数用作构造函数调用(使用new操作符调用)的时候,新创建的对象会从原型...
我猜一般用过JavaScript的人都看见过或者用过对象的prototype属性。这是个好东西,它可以向其原型中动态添加功能(属性和方法),但该对象不能被赋予不同的原型。然而,用户定义的对象可以被赋给新的原型。详细介绍:...
一、什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会”继承”赋予该对象原型的...
本文实例讲述了JavaScript使用Prototype实现面向对象的方法。分享给大家供大家参考。具体分析如下: prototype 是 Function 对象的一个属性,这个属性指向另一个对象。 这个对象的所有属性和方法,都会被构造函数的...
本文实例讲述了Javascript中prototype属性实现给内置对象添加新的方法。分享给大家供大家参考。具体实现方法如下: <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ...
本文实例讲述了JavaScript通过prototype给对象定义属性的用法。分享给大家供大家参考。具体分析如下: 下面的JS代码定义了movie对象。在使用对象的过程中又通过prototype给对象添加了isComedy属性,调用的时候直接...
我们已经在第一章中使用prototype属性模拟类和继承的实现。 prototype属性本质上还是一个JavaScript对象。 并且每个函数都有一个默认的prototype属性。 如果这个函数被用在创建自定义对象的场景中,我们称这个函数为...
这是一个比较特殊的属性,Javascript中的继承一般都依赖这属性实现。 在Javascript中,一切都是对象,字符串是对象,数组是对象,变量是对象,函数也是对象,所以才会允许[‘a’,’b’,’c’].push(‘d’);这样的...
每一个函数都具有一个prototype属性。 此属性是一个指针,能够指向一个对象,而此对象将会被由构造函数创建的对象实例所共享,也就是会继承此对象。 总结:prototype所指向的对象是被构造函数所创建的对象实例所共同...
主要介绍了JavaScript中通过prototype属性共享属性和方法的技巧实例,本文直接给出一个代码实例,需要的朋友可以参考下
JavaScript中的prototype(原型)属性研究
prototype属性可以将属性和方法添加到任何对象(Number, Boolean, String 和Date等)。 注:原型(Prototype)是一个全局的属性,它可以使用在几乎所有的对象。 语法 object.prototype.name = value 实例: 这里有一个...
javascript面向对象之共享成员属性与方法及prototype关键字用法.docx
Function的原型和它的prototype属性无关 对象的原型可以通过非标准的属性 __proto__ 或ECMAScript5的方法 Object.getPrototypeOf() 访问。 1其实是错的,Object这个原型链尽头的对象它没有原型。可是为了更简单表述...
主要介绍了Javascript中prototype属性的相关资料,本文介绍的非常详细,具有参考借鉴价值,感兴趣的朋友一起看看吧
Javascript中关于prototype属性实现继承的原理图
prototype 是在 IE 4 及其以后版本引入的一个针对于某一类的对象的方法,而且特殊的地方便在于:它是一个给类的对象添加方法的方法!