JavaScript定义类的方式与其它OO语言有些差异

JavaScript面向对象的程序编写与其它OO语言有一些出入,所以使用JavaScript的面向对象特性的时候,需要注意一些规范性的问题。下面就简单地谈一下,JavaScript如何定义一个类,在定义类的过程中需要如何规范你的代码。

使用javascript来定义类的规范如下:

指定类名与构造函数,类名(构造函数名)首字母大写:

function YourClass(){
}

使用"this.成员变量"在其构造函数内定义(伪)私有成员,最好约定(伪)私有成员都以"_"开头小写字母组成。这种成员是每个对象不同的副本,也叫对象(实例)成员。

function Yourclass(_arg1,_arg2,...){
      this._arg1=arg1;
      this._arg2=arg2;
      //...
}

使用"类名.prototype.成员变量"在其构造函数外定义成员变量,最好约定这种成员都以大写字母开头(或最好约定(伪)私有成员都以"_"开头小写字母组成。)。这种成员变量是每个对象共享一个副本,也叫类成员。

Yourclass.prototype.Arg3="arg3...";		//定义直接访问不要输入验正的成员变量
Yourclass.prototype._arg4="arg4...";	//需要使用setXXX() getXXX()访问器做输入验证

使用"类名.prototype.成员函数名=function(_arga,_argb,...){}"方式来成员函数。

Yourclass.prototype.YourFucName=function(_arga,_argb,...){
       //do somethings
}

不要在构造函数内使用"this.函数名=function(_arga,....){}"方式来定义成员函数,函数是服务模板,是需要共享,不需要每个对象都有存一个相同的模板,这样太浪费且没有多少意义。

posted on 2014-11-11 20:22  复活的老羊  阅读(169)  评论(0编辑  收藏  举报

导航