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
大家可以去查看。
评论
发表评论

您还没有登录,请登录后发表评论