首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

2.1.2  JavaScript

JavaScript是一门在浏览器中大量使用的编程语言,有自己的标准并且在各种浏览器中被广泛支持。JavaScript的基本语法不再详细讲解,有需要的读者可以参考相关书籍。这里主要介绍使用JavaScript创建高级对象的方法。

1.使用构造函数来创建对象

构造函数是一个函数,可以通过调用它来新建并初始化特殊类型的对象。下面给出了使用构造函数的新示例:

var myObject = new Object();               // 创建没有属性的通用对象

var myBirthday = new Date(1961, 5, 10);      // 创建一个 Date 对象

var myCar = new Car();                       // 创建一个用户定义的对象,并初始化其属性

2.编写构造函数

JavaScript中可以使用new运算符结合如Object()Date()Function()这样的预定义构造函数来创建并初始化对象。面向对象的编程技术最强大的功能就在于创建自定义对象的能力,在自定义对象中开发人员可以自定义属性和方法。下面是自定义函数的示例(注意this关键字的使用):

function Circle (xPoint, yPoint, radius) {

    this.x = xPoint;  // 圆心的 x 坐标

    this.y = yPoint;  // 圆心的 y 坐标

    this.r = radius;  // 圆的半径。

}

Circle类包含3个属性,圆心的xy坐标和圆的半径,这些元素是完整定义一个Circle对象所必须的。下面的代码实例化了一个Circle对象:

var aCircle = new Circle(5, 11, 99);

3.使用原型(prototype)来创建对象

在编写构造函数时,可以使用原型对象(它本身是所有构造函数的一个属性)的属性来创建继承属性和共享方法。原型属性和方法将采用引用的方式复制给类中的每个对象,因此它们都具有相同的值。可以在一个对象中更改原型属性的值,新的值将覆盖默认值,但是仅在该对象中有效,属于这个类的其他对象不受此更改的影响。下面给出使用自定义构造函数的示例:

Circle.prototype.pi = Math.PI;

function ACirclesArea () {

    return this.pi * this.r * this.r; // 计算圆面积

}

Circle.prototype.area = ACirclesArea; // 计算圆面积的函数现在是 Circle Prototype 对象的一个方法

var a = ACircle.area();               // 此为如何在 Circle 对象上调用面积函数

使用原型可以为预定义的构造函数(都具有原型对象)定义附加属性。例如,如果想删除字符串的前后空格,就可以给String原型对象创建自己的方法,如下所示:

// 增加一个名为 trim 的函数作为

// String 构造函数的原型对象的一个方法

String.prototype.trim = function()

{

    // 用正则表达式将前后空格

    // 用空字符串替代

    return this.replace(/(^\s*)|(\s*$)/g, "");

}

 

// 有空格的字符串

var s = "    leading and trailing spaces    ";

window.alert(s + " (" + s.length + ")");

 

// 删除前后空格

s = s.trim();

window.alert(s + " (" + s.length + ")");

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论