Javascript 面向对象的Class, 怎么写最好.

JavaScript011

Javascript 面向对象的Class, 怎么写最好.,第1张

对于面向对象的写法, 从最基础的类开始, javascript就有很多种方法写一个类, 那到底哪种是最佳的呢? 和同事讨论, 认为以下的写法是最OK的.functionClassA(){var_this=this//这是为了给ClassA的私有类使用本实例var_field1//private的成员变量varprivateMethod1=function(){//private里调用private,直接用。_field1=1privateMethod2()//private里调用public,用_this.xxx。_this.publicMethod1()}this.publicMethod1=function(){//public里调用private,直接用。_field1=1privateMethod1()//public里调用public,用this.xxx。this.publicMethod2()}ClassA.prototype.staticMethod1=function(){//静态方法}}functionuser(){vara=newClassA()//public的调用,private的外面就看不到了。a.publicMethod1()//静态方法,必须加.prototype,没办法, JS能这样已经很不错了.//而且通过实例a.staticMethod1()也能调用。

init只是习惯性写法,一直以来编程人员的编写习惯而已。不是必须要这样写,不过养成共同的习惯对于自己及他人以后对代码进行修改或者浏览会提供方便。

至于为什么需要初始化,这是大部分对象所需要具有的通用属性。可能网站小的时候init初始化共用属性作用不大,但当多次调用该对象时,对象初始化则可能根据调用个体的不同而对本身进行调整。打个比方,“动物”是一个对象函数,作用都是给对象画上四条腿。把羊、牛、狮子分别赋予“动物”函数时,“动物”函数就需要根据个体的不同进行初始化确定四条腿的粗细了。

建议在编写对象时按照通用的写法,毕竟一个对象不是目前可以用到的,以后在其它地方也会用到或者会进行升级拥有更强大的功能,这时候按照通用习惯编写代码就显示出它的优势了。