类中的共享变量,可以在构造函数中使用

时间:2017-11-23 22:21:02

标签: javascript oop

在可以在构造函数中使用的类中声明共享变量的最佳方法是什么?

我尝试使用这样的原型:

class Cell {

  constructor(element) {    
    this.view = document.createElement(element);
    this.value = cellSymbol.NO_MINE;
  }

  isMine() { return this.value == cellSymbol.MINE; }
  makeMine() { this.value = cellSymbol.MINE; }
  getView() { return this.view; }
  addOnClickFn(func) { this.view.onclick = func; }
  removeOnClickFn() { this.view.onclick = ''; }
  addClassStyle(style) { this.view.className = style; }
  openCell(style) {
    this.view.className = style;
    this.value = cellSymbol.OPEN_CELL;
  }
}

Cell.prototype.cellSymbol = Object.freeze({
      NO_MINE: 0,
      MINE: 9,
      OPEN_CELL: '#'
});

var cell = new Cell('td');

但它不起作用。我得到cellSymbol未定义。我假设类构造函数是在原型之前创建的,因此cellSymbol是未知的。

我认为将cellSymbol放入课堂是没有意义的,因为没有必要让每个实例拥有它cellSymbol

0 个答案:

没有答案