摘要: 继承机制的实现 要用 ECMAScript 实现继承机制,您可以从要继承的基类入手。所有开发者定义的类都可作为基类。出于安全原因,本地类和宿主类不能作为基类,这样可以防止公用访问编译过的浏览器级的代码,因为这些代码可以被用于恶意攻击。 选定基类后,就可以创建它的子类了。是否使用基类完全由你决定。有时,你可能想创建一个不能直接使用的基类,它只是用于给子类提供通用的函数。在这种情况下,基类被看作抽象类... 阅读全文
posted @ 2012-05-03 14:57 校长阿四 阅读(184) 评论(0) 推荐(0) 编辑
摘要: 继承机制实例 说明继承机制最简单的方式是,利用一个经典的例子 - 几何形状。实际上,几何形状只有两种,即椭圆形(是圆形的)和多边形(具有一定数量的边)。圆是椭圆的一种,它只有一个焦点。三角形、矩形和五边形都是多边形的一种,具有不同数量的边。正方形是矩形的一种,所有的边等长。这就构成了一种完美的继承关系。 在这个例子中,形状(Shape)是椭圆形(Ellipse)和多边形(Polygon)的基类... 阅读全文
posted @ 2012-05-03 14:54 校长阿四 阅读(310) 评论(0) 推荐(0) 编辑
摘要: 通过使用 ECMAScript,不仅可以创建对象,还可以修改已有对象的行为。 prototype 属性不仅可以定义构造函数的属性和方法,还可以为本地对象添加属性和方法。 创建新方法 通过已有的方法创建新方法 可以用 prototype 属性为任何已有的类定义新方法,就像处理自己的类一样。例如,还记得 Number 类的 toString() 方法吗?如果给它传递参数 16,它将输出十六进制的字符... 阅读全文
posted @ 2012-05-03 14:52 校长阿四 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 使用预定义对象只是面向对象语言的能力的一部分,它真正强大之处在于能够创建自己专用的类和对象。 ECMAScript 拥有很多创建对象或类的方法。 工厂方式 原始的方式 因为对象的属性可以在对象创建后动态定义,所有许多开发者都在 JavaScript 最初引入时编写类似下面的代码:var oCar = new Object;oCar.color = "blue";oCar.doors = 4;oC... 阅读全文
posted @ 2012-05-03 14:20 校长阿四 阅读(242) 评论(0) 推荐(0) 编辑
摘要: 作用域指的是变量的适用范围 公用、私有和受保护作用域 概念 在传统的面向对象程序设计中,主要关注于公用和私有作用域。公用作用域中的对象属性可以从对象外部访问,即开发者创建对象的实例后,就可使用它的公用属性。而私有作用域中的属性只能在对象内部访问,即对于外部世界来说,这些属性并不存在。这意味着如果类定义了私有属性和方法,则它的子类也不能访问这些属性和方法。 受保护作用域也是用于定义私有的属性和方法... 阅读全文
posted @ 2012-05-03 09:52 校长阿四 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 在 ECMAScript 中,所有对象并非同等创建的。 一般来说,可以创建并使用的对象有三种:本地对象、内置对象和宿主对象。 本地对象 ECMA-262 把本地对象(native object)定义为“独立于宿主环境的 ECMAScript 实现提供的对象”。简单来说,本地对象就是 ECMA-262 定义的类(引用类型)。它们包括: Object Function ... 阅读全文
posted @ 2012-05-03 09:25 校长阿四 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 对象的创建和销毁都在 JavaScript 执行过程中发生,理解这种范式的含义对理解整个语言至关重要 声明和实例化 对象的创建方式是用关键字 new 后面跟上实例化的类的名字: var oObject = new Object();var oStringObject = new String();第一行代码创建了 Object 类的一个实例,并把它存储到变量 oObject 中。第二行... 阅读全文
posted @ 2012-05-03 09:22 校长阿四 阅读(160) 评论(0) 推荐(0) 编辑