2008-02-22
JavaScript 的面向对象编程
JS定义类时应注意:
> 不共享的简单类型数据成员可以用this定义也可以用prototype定义。
> 不共享的对象类型数据成员可以用this定义,但不要是类外部定义对象的引用。
> 共享的对象数据类型成员可以用prototype定义, 因此,函数最好都在prototype中定义,因为用this定义将会函数在类实例之间不共享,造成内存浪费。
> 此外,还有 类“static” 成员/方法, 它只能用 【类名】.【成员名】
的方式调用, 而不能是 【对象名】.【成员名】。
定义:
> 用JSON定义的对象,已经使用了关键字new
> JS中对象没有prototype属性,只有类有
> prototype中若有与this定义的同名属性,将以this的为主,因为new的时候,先将prototype的所有属性都copy给new出来的对象,然后再执行构造函数,也就是先prototype后this。
> 形如Class.pro定义的属性可以和this定义的属性重名,互不影响。
> 在构造函数中使用this定义的成员,除非是引用已有的属性(不是new的对象),它们在实例对象中将互不影响。
> 由prototype定义的成员,再new时全部是引用传递,故它们在所有实例对象之间共享并相互影响。
本文大多数内容来源于:http://www.phpchina.com/54842/viewspace_27479.html
大家可以去查看。
> 不共享的简单类型数据成员可以用this定义也可以用prototype定义。
> 不共享的对象类型数据成员可以用this定义,但不要是类外部定义对象的引用。
> 共享的对象数据类型成员可以用prototype定义, 因此,函数最好都在prototype中定义,因为用this定义将会函数在类实例之间不共享,造成内存浪费。
> 此外,还有 类“static” 成员/方法, 它只能用 【类名】.【成员名】
的方式调用, 而不能是 【对象名】.【成员名】。
定义:
> 用JSON定义的对象,已经使用了关键字new
> JS中对象没有prototype属性,只有类有
> prototype中若有与this定义的同名属性,将以this的为主,因为new的时候,先将prototype的所有属性都copy给new出来的对象,然后再执行构造函数,也就是先prototype后this。
> 形如Class.pro定义的属性可以和this定义的属性重名,互不影响。
> 在构造函数中使用this定义的成员,除非是引用已有的属性(不是new的对象),它们在实例对象中将互不影响。
> 由prototype定义的成员,再new时全部是引用传递,故它们在所有实例对象之间共享并相互影响。
本文大多数内容来源于:http://www.phpchina.com/54842/viewspace_27479.html
大家可以去查看。
发表评论
- 浏览: 112176 次
- 性别:

- 来自: bj

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
html的DOCTYPE 问题
你
-- by zhengbin917943 -
Javascript标准DOM Range ...
图看不到
-- by 熟悉的陌生人 -
Javascript标准DOM Range ...
没想到在这碰上了缘分那
-- by 熟悉的陌生人 -
ORACLE列出所有的数据表
fdg
-- by 熟悉的陌生人 -
Struts原理与实践(1)
拱啊 大哥
-- by laitaogood






评论排行榜