我正在研究Mike Bokstok(d3js)高度优化的voronoi实现代码.
我不明白目前的测试:
if (!(m = (halfedges = cell.halfedges).length)) return;
Run Code Online (Sandbox Code Playgroud)
请参阅此处的代码:https://github.com/d3/d3-voronoi/blob/master/src/Diagram.js#L87
小智 5
由于var提升,var可以放在函数的任何位置,但会在其范围内首先处理:
bla = 2;
var bla;
// is implicitly understood as:
var bla;
bla = 2;
Run Code Online (Sandbox Code Playgroud)
请注意,它正在使用=,而不是==.这是不是在测试m和halfedges,它是两个做作和测试cell.halfedges.length.
它可以改写为
if (!cell.halfedges.length) return;
halfedges = cell.halfedges;
m = halfedges.length;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45 次 |
| 最近记录: |