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

标签 javascript svg

我刚刚开始使用 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/

相关文章:

html - 将方形 svg 放置在屏幕中央,缩放它以适应屏幕的宽度和高度,但有一些限制

javascript - SVG - 用百分比制作 viewBox(0, 0, 100%, 100%)

javascript - 如何删除存储在 ionic 存储中单个键中的单个数据?

javascript - 重新渲染期间组件丢失,如何重新附加?

javascript - 如何在 D3 上创建默认大小的画笔?

reactjs - JSX : <use> 不再支持小写组件名称(使用)

javascript - 如何使用下面的示例将文本添加到 D3 中的 SVG 元素

javascript - 在这种情况下如何阻止 jQuery 函数多次执行?

javascript - 如何从另一组更大的按钮中单独更改一组按钮的颜色

HTML 对象 SVG 图像不显示