我刚刚开始使用 javascript,并且在理解下面这段 (svg) 代码时遇到问题,该代码使用 javascript 来定义它的 x 坐标和半径。我了解数据是如何绑定(bind)的等。但我的问题是 - 对于带有两个参数的函数: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;
});
谢谢。
最佳答案
这是 d3,所以 d3 documentation defines what the function expects
如果 value 是常量,则所有元素都被赋予相同的属性值;否则,如果 value 是一个函数,则针对每个选定元素(按顺序)计算该函数,并传递当前数据 d 和当前索引 i,并将 this 上下文作为当前 DOM 元素。
关于javascript - 谁定义了这个 javascript 片段中的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26181731/