打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
JavaScript的Prototype属性
 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库的基础。但同时它也是有风险的。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
JavaScript前端开发案例教程-第12章 面向对象编程
开始使用面向对象的 JavaScript 代码
JavaScript 的面向对象
修改构造函数原型——JavaScript中的对象(二)
Javascript之面向对象程序设计(一)
prototype属性
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服