D3.js:通过方法链接传递参数

时间:2014-12-22 00:01:54

标签: javascript d3.js

我不完全理解如何使用方法链接函数。以下是一些案例

预期案例

var dataset = [ 5, 10];

function count(d) {
  return "I can count up to " + d ; 
}
            d3.select("body").selectAll("p")
                .data(dataset)
                .enter()
                .append("p")
                .text(count);

输出

I can count up to 5

I can count up to 10

我没有得到的是来自修改后的计数功能的输出

function count(d, a) {
  return "I can count up to " + d + a ; 
}

输出

I can count up to 50

I can count up to 101

阅读这篇文章,但我仍然遗漏了一些东西。我应该重读吗?

How are input parameters filled in javascript method chains?

1 个答案:

答案 0 :(得分:0)

当您在d3.js .text中调用某个功能时,其签名为:

.text(function(datum, index){

 });

所以:

return "I can count up to " + d + a ; 

表示:

return string + datum + index.  

最后,使用Javascript,当你首先使用字符串开始时,所有内容都被强制转换为字符串,因此d + a连接5和0,然后连接10和1。