Javascript 在D3.js中绑定到对象做什么
我试图理解的是D3.js的代码,我被这段代码弄糊涂了:Javascript 在D3.js中绑定到对象做什么,javascript,d3.js,Javascript,D3.js,我试图理解的是D3.js的代码,我被这段代码弄糊涂了: var circle = interpolation.selectAll("circle") .data(Object); circle.enter().append("circle") .attr("r", 4) .attr("fill","yellow"); circle .attr("cx", function y(d) { console.log(d.attr("class")); return d.
var circle = interpolation.selectAll("circle")
.data(Object);
circle.enter().append("circle")
.attr("r", 4)
.attr("fill","yellow");
circle
.attr("cx", function y(d) { console.log(d.attr("class")); return d.x; })
.attr("cy", function(d) { return d.y; });
这段代码的第二行实际上是做什么的?它绑定到什么数据?上面元素中绑定的数据,由函数
getLevels(d,t)
给出,其中d
是范围为2-4的数字,t
是从当前时间派生的数字
这只会返回数组的数组。由于数组是空的,因此对数组调用Object()将返回原始数组。。因此,从我所看到的,作者只是简单地使用Object作为一种身份函数,类似于:
var identity = function(d){
return d;
}
var circle = interpolation.selectAll("circle")
.data(identity);
circle.enter().append("circle")
.attr("r", 4)
.attr("fill","yellow");
circle
.attr("cx", function y(d) { console.log(d.attr("class")); return d.x; })
.attr("cy", function(d) { return d.y; });
谢谢,minikomi。我以前从未见过
对象
被用作标识函数,所以我对此感到困惑。我用函数(d){return d;}
替换了对象
,它也可以工作。谢谢你的解释,没问题。这对我来说也有点扫兴。