Welcome

首页 / 脚本样式 / Ajax / 在Microsoft AJAX Library下JavaScript的面向对象开发

在Microsoft AJAX Library下JavaScript的面向对象开发2011-08-23 博客园 BēniaǒJavascript对于做过Web程序的人不应该是陌生,初期是用来做一些简单的FORM验证,基本上是在玩 弄一些技巧性的东西。Javascript不是一个支持面向对象的语言,更加算不上一个开发平台,但是 Javascript提供了一个非常强大的基于Prototype的面向对象调用功能,这使得我们可以在自己需要的地 方使用他们。ASP.NET AJAX中也提供了对JavaScript面向对类型系统的支持。

在面向对象的语言(如C#,Java)里,命名空间、类、接口、方法等等这些对大家都不陌生,那么你 是否在客户端使用过JavaScript来写过基于面向对象的程序呢?详细请看下面分解:

一、命名空间

命名空间是什么?命名空间的作用是合理的组织大量的类型,使开发人员能够方便的找到他们所需要 的类型。如大多数面向对象语言一样,JavaScript在基于Prototype的基础上提供了注册命名空间的方法 ,见下语法:

Type.registerNamespace("MyNamespae");

比如我们要注册一个为"com.cnblogs.beniao"的命名空间,则使用如下代码进行定义:

1//注册命名空间2Type.registerNamespace("com.cnblogs.beniao");
在实际的开发中,命名空间是可以重复注册的,最好是在每个独立的脚本模块前都要注册命名空间以 保证命名空间存在.

二、类

在面向对象的程序语言里,对类的定义为是具有相同属性、操作、关系的对象集合的总称。那在客户 端JavaScript里呢?我想也不外于此,只不过不同于面向对象语言里那样通过class来定义,它有专用注 册的语法,见下:

1注册一个类2Type.registerClass("TypeName");
比如要注册一个名为"com.cnblogs.beniao.Employee"的类,""com.cnblogs.beniao"为命名空间注册 代码如下:

1//注册一个com.cnblogs.beniao.Employee类2Type.registerClass("com.cnblogs.beniao.Employee");
一个类可看作为是抽象出的一个对象,他应该带有构造方法,成员字段以及相关操作,这在面向对象 的程序设计里是常见的,而这一特性在客户端JavaScript里也不例外,在JavaScript基于Prototype的支 持下也可以为JavaScrpt所注册的类提供构造器和成员字段和相关操作,看看下面的分析: