当前位置: 美高梅棋牌 > 智能硬件 > 正文

JavaScript定义规范的类

时间:2019-09-02 20:00来源:智能硬件
JavaScript面向对象的程序编写与其它OO语言有一些出入,所以使用JavaScript的面向对象特性的时候,需要注意一些规范性的问题。下面就简单地谈一下,JavaScript如何定义一个类,在定义类

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

我原来的写法都是这样:

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

function Dog(){
  this.name = 'hachi';
}

Dog.prototype = {
  makeNoise:function(){
    alert('wangwangwang');
  }
};

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

后来又看到另外一种复杂一点而且看起来好像没有必要的写法:

function YourClass(){
}
function Dog(){
  var privateVariable = 'secret';

  var fn = function(){
    //...
  }

  fn.prototype = {
    makeNoise:function(){
      alert('wangwangwang');
    }
  }

  return fn;
}

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

这里的Dog函数其实是一个 制造类 的函数,它返回了真正的Dog类。
感觉这样做的好处是更好的实现了封装。
例如这里的privateVariable就是一个私有变量:

function Yourclass(_arg1,_arg2,...){
      this._arg1=arg1;
      this._arg2=arg2;
      //...
}
var d = new Dog;
d.privateVariable //undefined

编辑:智能硬件 本文来源:JavaScript定义规范的类

关键词: