有人能解释一下D3s饼图布局中的Javascript模式吗?

有人能解释一下D3s饼图布局中的Javascript模式吗?,javascript,d3.js,Javascript,D3.js,我读了一些D3s源代码,在pie.js中发现了这个有趣的模式。在被定义为“内部函数”之后,它添加了新的“方法”,然后作为某种混合函数/对象返回。有人能解释一下这是怎么回事吗 被称为。它封装了内部的内容/创建了一个新实例,并且大多数情况下(取决于使用方式)只能运行一次。它还用于捕获循环中的变量 在D3中使用它的方式是在需要加载时让它加载。又名惰性加载。看看这个——我创建了一个JSFIDLE来说明困扰我的部分。我不知道有可能创建这个函数/对象混合体。让我困惑的是,他们在第12行将pie定义为一个函数

我读了一些D3s源代码,在pie.js中发现了这个有趣的模式。在被定义为“内部函数”之后,它添加了新的“方法”,然后作为某种混合函数/对象返回。有人能解释一下这是怎么回事吗

被称为。它封装了内部的内容/创建了一个新实例,并且大多数情况下(取决于使用方式)只能运行一次。它还用于捕获循环中的变量


在D3中使用它的方式是在需要加载时让它加载。又名惰性加载。

看看这个——我创建了一个JSFIDLE来说明困扰我的部分。我不知道有可能创建这个函数/对象混合体。让我困惑的是,他们在第12行将pie定义为一个函数,然后(第54行、第66行……)他们将字段添加到它,就像它是一个对象一样。好吧,在我解释时请保持冷静:)在JavaScript中,没有“映射”。它被称为对象(键->值)。对象是一切事物的基础(一切事物都从对象“继承”)。因此,函数实际上也是一个对象,因此可以将其视为一个对象。关于“继承性”,javascript不做多态性,但做了一种叫做原型链接的东西(谷歌it,有大量优秀的教程详细解释了这种差异)。谢谢,在你回信之前,我意识到了我的地图错误并更正了我的评论。你所说的函数实际上是javascript中的对象,这让我明白了。谢谢:-)