JavaScript创建高级对象的方法

来源:互联网 发布:天猫淘宝反光背心 编辑:程序博客网 时间:2024/06/14 22:21
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 + ")");
 
原创粉丝点击