OR函数中有一个赋值运算符。
两个return语句的结果是什么?
参考:http://www.d3noob.org/2014/01/tree-diagrams-in-d3js_11.html
var node = svg.selectAll("g.node")
.data(nodes, function(d) { return d.id || (d.id = ++i); });
nodeEnter.append("text")
.attr("x", function(d) {
return d.children || d._children ? -13 : 13; })
答案 0 :(得分:1)
在您的示例中,通常是用于在d3中定义唯一索引的方式
var node = svg.selectAll("g.node")
.data(nodes, function(d) { return d.id || (d.id = ++i); });
//here if d.id exists and is truthy, just return d.id; if not, then assign d.id to ++i
第二个是相同的:
if d.children is (defined and truthy value) then return -13
if d.children is not defined or is falsy then return 13