论坛交流
首页办公自动化| 网页制作| 平面设计| 动画制作| 数据库开发| 程序设计| 全部视频教程
应用视频: Windows | Word2007 | Excel2007 | PowerPoint2007 | Dreamweaver 8 | Fireworks 8 | Flash 8 | Photoshop cs | CorelDraw 12
编程视频: C语言视频教程 | HTML | Div+Css布局 | Javascript | Access数据库 | Asp | Sql Server数据库Asp.net  | Flash AS
当前位置 > 文字教程 > Javascript教程
Tag:验证,特效,入门,实例,验证,表单,特效,正则表达式,跑马灯,document,函数,代码,getElementByID,菜单,图片,视频教程

Javascript教程:原生对象的原型

文章类别:Javascript | 发表日期:2012-6-16 9:34:01

Javascript教程:原生对象的原型

原生对象的原型
   
圆心模式的重要性不仅体现在创建自定义类型方面,就连所有原生的引用类型,都是采用这种模式创建的。所有原生引用类型(Object、Array、String、等等)都在其构造函数的原型上定义了方法。例如,在Array.prototype中可以找到sort()方法,而在String.prototype中可以找到substring()方法,如下所示:
alert(typeof Array.prototype.sort); //"function"
alert(typeof String.prototype.substring); //"function"

    通过原生对象的原则,不仅可以取得所有默认方法的引用,而且也可以定义新方法。可以向修改自定义对象的原型一样修改原生对象的原型,因此尅随时添加方法。下面的代码就给基本包装类型String添加了yield名为startsWith()的方法:

String.prototype.startsWith = function (text) {
    return this.indexOf(text) == 0;
};

var msg = "Hello world!";
alert(msg.startsWith("Hello")); //true

    这里定义的startsWith()方法会在传入的文本位于yield字符串开始时返回true。既然方法被添加给了String.pprototype,那么当前环境中的所有字符串就都可以调用它。由于msg是字符串。而且后台会调用String基本保皇函数创建这个字符串,因此通过msg就可以调用startsWith()方法;
    尽管可以这样做,但我们不推荐在产品化的程序中修改原生对象的原型。如果因某个实现中缺少某个方法,就在原生对象的原型中添加这个方法,那么当在另一个支持该方法的实现中运行代码时,就可能会导致命名冲突。而且,这样做也可能意外地重写原生方法;

<
视频教程列表
文章教程搜索
 
Javascript推荐教程
Javascript热门教程
看全部视频教程
购买方式/价格
购买视频教程: 咨询客服
tel:15972130058