OOJS
iteye_3843
这个作者很懒,什么都没留下…
展开
-
面向对象的JS(1) Java和JavaScript的比较
Java和JavaScript在面向对象方面的比较 Java JavaScript 静态类型 动态类型 自定义类型可以是类,接口或枚举定义 自定义类型由函数或原型定义 类型不可在运行时改变 类型可在运行时改变 定义变量需要声明具体类型(强类型) 定义变量不需要声明具体类型(弱类型) 构造器是具体的方法 构造器只是一个函数,构造器与函数之间...原创 2014-02-11 16:24:16 · 167 阅读 · 0 评论 -
面向对象的JS(2) JavaScript对面向对象的支持
1 实例方法 实例方法是由实例对象访问的方法,实例对象由new操作符创建。实例成员通过this关键字、prototype、构造器闭包或者Object.defineProperty来创建 [code="java"] function Cat(name) { var voice = "Meow"; this.name = name; this.say = funct...原创 2014-02-12 13:11:32 · 98 阅读 · 0 评论 -
面向对象的JS(3) 对象创建和成员作用域
一 对象创建 1 使用new操作符 内置或自定义的对象类型的实例可以用new操作符创建。new操作符只运行构造函数,已存在的对象不能用new再创建一次。首先new操作符创建一个空对象;然后调用构造函数同时将新创建的对象赋值给this,构造函数执行其初始化工作。 [code="java"]//or var dog = {}; //or var dog = new MyDogType(); ...原创 2014-02-13 12:42:04 · 77 阅读 · 0 评论 -
面向对象的JS(4) 继承机制
在JavaScript中有好几种方法都可以实现继承。原型继承——使用prototype作为一种继承机制有许多优点,下面举例: [code="java"]function Parent() { var parentPrivate = "parent private data"; var that = this; this.parentMethodForPrivate ...原创 2014-02-14 21:48:25 · 69 阅读 · 0 评论 -
面向对象的JS(5) 模块化和命名空间
模块化 一旦我们有很多自定义对象类型,我们需要对它们进行分组,并管理他们的可见性、依赖性和加载。命名空间和模块可以用来处理这些任务。(需要注意的是EcmaScript v6(Harmony)正在开发一个成熟的模块系统,由浏览器支持标准前我们也可以利用现有的一些库来实现这些功能。) 参考文章:[url]http://www.sencha.com/blog/toward-modern-web-ap...原创 2014-02-18 16:03:59 · 147 阅读 · 0 评论 -
面向对象的JS(6) 自定义异常和事件
1 自定义异常 在JavaScript中有内置的异常比如Error,TypeError和SyntaxError,这些异常可以在运行时创建抛出。每个异常是未受查的。一个普通对象可以用在异常抛出语句中。因此我们可以创建自定义的异常,并可以抛出和捕捉。自定义异常一个比较好的做法是继承JavaScript的标准Error对象。 [code="java"]function BaseException()...原创 2014-02-19 11:14:00 · 133 阅读 · 0 评论 -
面向对象的JS(7) 编写组件
编写组件: JavaScript允许开发人员在HTML元素中添加新的行为。在一个组件结构中可以进行诸如此类的绑定。"web组件"就是由W3C领导进行的持续标准化工作。下面是一个常用模式,绑定JavaScript对象到DOM对象。通过这种方式,我们可以收集行为并管理他们的生命周期。 1 定义JavaScript组件 [code="java"]function InputTextNumberCo...原创 2014-02-20 11:08:32 · 96 阅读 · 0 评论