谁在这个javascript片段中定义了参数?

时间:2014-10-03 15:13:06

标签: javascript svg

我刚刚开始使用javascript并且在理解下面这段(svg)代码时遇到问题,该代码使用javascript来定义它的x坐标和半径。我理解数据是如何绑定等的。但我的问题是 - 对于带有两个参数的函数: d和i ,其中定义函数的第一个参数是数据集,第二个参数是圆的计数器,即第一个圆为0,第二个圆为1,依此类推。

var dataset = [ 5, 10, 15, 20, 25 ];
var circles = svg.selectAll("circle")
                 .data(dataset)
                 .enter()
                 .append("circle");
circles.attr("cx", function(d, i) {
            return (i * 50) + 25;
        })
       .attr("cy", h/2)
       .attr("r", function(d) {
            return d;
       });

感谢。

1 个答案:

答案 0 :(得分:2)

这是d3,所以d3 documentation defines what the function expects

如果value是常量,则所有元素都被赋予相同的属性值;否则,如果value是一个函数,则为每个所选元素(按顺序)计算函数,传递当前数据d和当前索引i,并将此上下文作为当前DOM元素。