您所在的位置: 首页>>读书频道>>设计开发>>.Net系列>>

JavaScript的Prototype属性

http://book.51cto.com  2008-04-29 23:55  李秀忠  电子工业出版社  我要评论(0)
  • 摘要:《Adding Ajax中文版》是通过添加Ajax效果,来增强现有web应用程序的功能。本文介绍了JavaScript的Prototype属性。
  • 标签:Ajax  .Net

JavaScript的Prototype属性

The JavaScript Prototype Property

JavaScript没有提供传统的类结构,使你可以通过继承它,然后加入新功能来扩展一个类。相反,这门语言使用prototype属性来扩展现有对象,以及它们的示例。

prototype是在运行期定义的一个属性和方法的集合,它对对象的每个示例都是有效的,而且不管这些示例是在prototype修改前,还是修改后建立的。

prototype在JavaScript中的工作原理是:当访问对象的属性时,浏览器的脚本引擎首先会从本地属性(native propertie)中查找这个属性,接着会在prototype属性中进行查找。如果在prototype属性中没有找到,它就会检查示例级的属性。

在如下的代码中,我们使用prototype属性,来扩展Number对象,在这里,我们添加了一个新的属性percentage,以及一个新的方法adjustValue:

Number.prototype.percentage=0.15; // 15%
Number.prototype.adjustValue = function() {
return this * this.percentage;
}

我们可以像访问本地属性一样访问新属性:

var someValue = 3.0;
alert(someValue.adjustValue());

这个应用程序会显示一个消息,这个消息会把调整后的值显示出来,也就是将初始值3.0乘以0.15。

Prototype库利用prototype的能力,为某些内置对象添加扩展,例如:String、Array、Function。下面就是一个对stripTags方法进行扩展的示例,它可以剔除字符串中所有元素的标签。

var str = "<p>This is a paragraph</p>";
var newStr = str.stripTags(); // 结果是“This is a paragraph”

JavaScript的prototype属性的功能相当强大,而且在很大程度上构成了Prototype库的基础。但同时它也是有风险的。


回书目   上一节   下一节
专题:ASP.NET 2.0基础开发指南
.NET移动与嵌入式技术专题
.NET Framework新手入门专题
VS.NET实用开发专题
ADO.NET实用技巧专题
 
 验证码: (点击刷新验证码)   匿名发表
  • Visual C++ 完全自学宝典

  • 作者:强锋科技,朱洪波
  • Visual C++ 6.0是微软公司为程序人员提供的Visual Studio 6.0工具套件中的重要组成部分。本书由浅入深地介绍使用Visual C++ 6.0..
Copyright©2005-2008 51CTO.COM 版权所有