征服AjaxWeb 2.0开发技术详解(试读版).pdf版
![]() | ![]() | |
![]() | 图片:20120808045029863.png ![]()
javaScript 面向对象程序设计 在传统的Web 开发模式中,JavaScript是一种点缀的作用,完成很有限的功能,诸如表 单验证之类。其语言本身也一直被当作过程化的语言使用,很难完成复杂的功能。而 Ajax 的出现使得复杂脚本成为必需的组成部分,这就对JavaScript程序设计提出了新的要求,很 多 Ajax 应用开始利用 JavaScript 面向对象的性质进行开发,使逻辑更加清晰。事实上, JavaScript提供了完善的机制来实现面向对象的开发思想。 本章假设读者已经了解面向对象思想的基本概念,熟悉对象、类、继承等基本术语。以 此为基础,将重点介绍如何在JavaScript中使用面向对象的思想,包括实现的原理、机制和 技巧。 JavaScript 中支持面向对象的基础 用定义函数的方式定义类 在面向对象的思想中, 最核心的概念之一就是类。一个类表示了具有相似性质的一类事 物的抽象,通过实例化一个类,可以获得属于该类的一个实例(即对象) 。 在JavaScript中定义一个类的方法如下: function class1(){ //类成员的定义及构造函数 } 这里 class1既是一个函数也是一个类。作为函数,它可以理解为类的构造函数,负责初 始化的工作。 使用new 操作符获得一个类的实例 在前面介绍基本对象时,已经用过 new操作符,例如: new Date(); 表示创建一个日期对象,而 Date 就是表示日期的类,只是这个类是由 JavaScript 内部 提供的,而不是由用户定义的。 new 操作符不仅对内部类有效,对用户定义的类也是同样的用法,对于上节定义的 class1,也可以用new来获取一个实例: function class1(){ //类成员的定义及构造函数 } var obj1=new class1(); 抛开类的概念,从代码的形式上来看,class1就是一个函数,那么是不是所有的函数都 可以用new来操作呢?答案是肯定的。在JavaScript中,函数和类就是一个概念,当new一 个函数时,就会返回一个对象。如果这个函数中没有初始化类成员,那就会返回一个空的对 象。例如: //定义一个hello函数 function hello(){
| |
![]() | ![]() |