【问题标题】:Javascript module pattern in D3D3 中的 Javascript 模块模式
【发布时间】:2012-09-09 14:36:06
【问题描述】:

最近我一直在阅读有关 javascript 模式的内容,以及如何使用模块模式来避免全局变量。当我查看 d3.js hierarchy layout 源代码时,我不确定下面是否是故意的。

d3.layout.hierarchy 使用的是模块模式,但到最后,我看到了它之外的许多方法,我猜这些方法只适用于布局及其派生对象(分区、树..)。

d3_layout_hierarchyRebind
d3_layout_hierarchyChildren
d3_layout_hierarchyValue
..

这是故意的,还是应该在模块中捕获?

【问题讨论】:

    标签: javascript design-patterns layout d3.js hierarchy


    【解决方案1】:

    当通过makefile 构建库时,这些方法都包含在包装代码的匿名函数中(请参阅start.jsend.js)。所以它们在最终的内置库中都不是全局的。这是一种设计选择,允许将库轻松拆分为多个文件,而无需为每个文件使用匿名函数包装器(require.js 样式模块就是这种情况)。

    【讨论】:

      猜你喜欢
      • 2012-04-25
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 2011-05-05
      • 2014-05-19
      • 1970-01-01
      • 2012-12-19
      • 2012-12-09
      相关资源
      最近更新 更多