Javascript库d3调用函数
我无法理解d3.call()如何工作以及何时何地使用它。 这里是我试图完成的教程链接。
有人可以请具体解释这件作品
var xAxis = d3.svg.axis() .scale(xScale) .orient("bottom"); svg.append("g").call(xAxis);
我认为这里的技巧是理解xAxis是一个产生一堆SVG元素的函数。 实际上它是由d3.svg.axis()
返回的函数。 scale和orient函数只是链接语法的一部分(更多内容请参阅http://alignedleft.com/tutorials/d3/chaining-methods/ )。
所以svg.append("g")
将一个SVG组元素附加到svg,并以select的forms(在这里工作的链式语法)返回一个对自身的引用。 当您对select使用call
,您将在selectg
的元素上调用名为xAxis
的函数。 在这种情况下,您正在新创build和附加的组g
上运行轴functionxAxis
。
如果仍然没有意义,上面的语法相当于:
xAxis(svg.append("g"));
要么:
d3.svg.axis() .scale(xScale) .orient("bottom")(svg.append("g"));