Javascript 检查d3函数的参数值

Javascript 检查d3函数的参数值,javascript,json,d3.js,firebug,force-layout,Javascript,Json,D3.js,Firebug,Force Layout,我想从以下代码片段中检查函数中“d”参数的值: var force = force = d3.layout.force() .nodes(json.nodes) .links(json.links) .linkDistance(function (d){return d;}) //I need to know the "d" value to decide what return .size([width, height]) .start(); 我正在使

我想从以下代码片段中检查函数中“d”参数的值:

var force = force = d3.layout.force()
    .nodes(json.nodes)
    .links(json.links)
    .linkDistance(function (d){return d;}) //I need to know the "d" value to decide what return
    .size([width, height])
    .start();

我正在使用firebug,但我无法进入该函数。我试图在函数中添加一个警报,但没有成功

d3文档为您提供了什么样的论点:

力链接距离([距离]) 如果指定了“距离”,则将链接节点之间的目标距离设置为指定值。如果未指定距离,则返回布局的当前链接距离,默认值为20。如果距离是常数,则所有链接的距离都相同。否则,若距离是一个函数,那个么将为每个链接(按顺序)计算该函数,并将该链接及其索引传递给该链接,并将该上下文作为力布局;然后使用函数的返回值设置每个链接的距离。每当布局开始时,都会对函数进行求值。通常,距离以像素为单位指定;但是,相对于布局的大小,单位是任意的

>

因此,如果参数是函数,第一个参数是链接,第二个参数是链接的索引。在应用函数之前,不应忘记将数据关联到force布局

我这里有一个例子:

force
    .nodes(json.nodes)
    .links(json.links);

    force.linkStrength(function(d,i) {return (json.links[i].isMyLeaf ? .01: 1);});

在我的json文件中,我为每个链接定义了isMyLeaf。

“我使用的是firebug,但我无法输入该函数。”您应该能够。“我试图在函数中添加一个警报,但它不起作用。”这表明您引用的代码之外存在问题,或者
linkDistance
不支持回调(因此从不调用您传递的函数)。请澄清:
.linkDistance(函数(3){return d;})
将函数传递到
linkDistance
。除非
linkDistance
通过收到的参数调用该函数,否则不会调用该函数。这真的是你想要做的吗?你可以在
linkDistance
函数中使用a来暂停执行,如果执行的话。这可能不仅仅是一个
警报