谁定义了这个javascript片段中的参数?
我刚开始使用javascript,在理解下面这段(svg)代码时遇到了一个问题,这段代码使用javascript定义x坐标和半径。我理解数据是如何绑定的,等等。但我的问题是-对于包含两个参数的函数:d和I,其中定义函数的第一个参数是数据集,第二个是圆的计数器,即0代表第一个圆,1代表第二个圆,依此类推谁定义了这个javascript片段中的参数?,javascript,svg,Javascript,Svg,我刚开始使用javascript,在理解下面这段(svg)代码时遇到了一个问题,这段代码使用javascript定义x坐标和半径。我理解数据是如何绑定的,等等。但我的问题是-对于包含两个参数的函数:d和I,其中定义函数的第一个参数是数据集,第二个是圆的计数器,即0代表第一个圆,1代表第二个圆,依此类推 var dataset = [ 5, 10, 15, 20, 25 ]; var circles = svg.selectAll("circle") .data(
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,所以
如果值是常量,则所有元素都被赋予相同的属性值;否则,若value是一个函数,那个么该函数将针对每个所选元素(按顺序)进行求值,传递当前数据d和当前索引i,并将此上下文作为当前DOM元素。大概在
.attr
函数中。谢谢,这为我的问题提供了一个清晰的解释。但下一次,我只是想知道javascript中是否有这样一个概念:参数被传递给函数而不带任何值,并且它们的值在函数体中被改变/给定一个值。因此,最初传递的参数更像占位符(只是重申一下,这是关于纯javascript而不是d3的)。我问这个是因为我想我听到过类似的事情,我真的想不起来了。一次又一次,我不断地碰到一些函数,我不知道这些函数的值是在哪里给出的。如果您还有其他问题,请使用“提问”按钮提问。