JavaScript OOP - 类方法(签名和约定)

时间:2012-02-20 13:10:24

标签: javascript oop backbone.js

假设我正在构建一个简单的MVC JavaScript可视化。

特定可视化视图的控制器可能如下所示:

Controller {

 model
 year
 width
 height
 xScale
 yScale

 render() {
    this.year = this.model.get("year")
    this.width = this.model.get("width")
    updateScales();

    draw A, B, C
 }

 updateScales() {
   this.xScale = this.width ...
 }

}

如您所见,每次调用Controller的render方法时,它都会设置一些属性并更新“派生的scale属性”。

我对此代码有两个问题:

1)让类方法直接在类属性上工作是不好的做法吗?他们应该返回一个值并签名吗?

2)假设我想优化此代码,以便只在更改宽度或高度时调用updateScales。处理这种模型属性改变相关逻辑的好处 - 而且是相当通用的方法是什么?

1 个答案:

答案 0 :(得分:0)

1)通常,通过 set get 方法访问属性是一种很好的做法。这样,您可以轻松实现在修改属性时可以执行的其他操作。 2)作为Julian D. said,您可以使用backbone.js的'change'事件处理更新比例

但是,如果您实际上使用的是backbone.js,则在您的帖子中并不清楚。