尝试学习D3.js和JavaScript等东西:) 所以这是我在书中看到的代码:
<script>
function draw(data){
d3.select("body")
.append("div")
.attr("class", "chart")
.selectAll(".bar")
.data(data.cash)
.enter()
.append("div")
.attr("class", "bar")
.style("width", function(d){return d.count/100 +"px"})
.style("outline", "1px solid blue")
.text(function(d){return Math.round(d.count)});
}
</script>
我习惯于强类型的.NET或Java等语言,所以这对我来说很奇怪, 在说
的行.style("width", function(d){return d.count/100 +"px"})
从哪里获取“d”的值?
答案 0 :(得分:2)
匿名函数在这段代码中传递但未调用。 d
参数由最终调用该函数的人传递给该函数 - 在这种情况下,d3库将会。
这是一个更简单的示例,类似于您问题中的代码段:
doSomething(function (someParameter) {
alert(someParameter);
});
这是库内的类似函数定义:
function doSomething(someCallback) {
var foo = 42;
someCallback(foo);
}