javascript - 在 D3.JS 中,d3.selection.data(myData) 之后的数据在哪里?

标签 javascript d3.js svg

假设我有这样的东西......

var myData = [1, 2, 3, 4, 5]; 
var svg = d3.select("body").append("svg"); 
var initializeData = svg.selectAll("rect").data(myData); 

对象initializeData中存储的数据(myData)在哪里?我到处都找不到。如果方法 enter() 使用 myData 中的数据,它必须在某处引用数据。

最佳答案

查看 source of data() ,这很令人困惑,但据我所知,它将数据存储在函数范围内的变量中。

这意味着它不能作为返回对象(更新)的属性公开使用,但仍然可以在更新内部的函数中使用,因为它们是可以访问封闭范围的闭包。

这真的是我能解释的最好的,而无需过多地了解闭包和数据函数的确切工作原理。

关于javascript - 在 D3.JS 中,d3.selection.data(myData) 之后的数据在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35351919/

相关文章:

javascript - 在特定页面上执行 javascript 的正确 "Rails"方法

javascript - 一个网站与另一个网站的内容交替

javascript - 将鼠标悬停的元素数据与选择的每个元素中的数据进行比较

javascript - Xaxis 数据按降序提供给 highcharts 但 xaxis 仍然按升序出现

javascript - 模板 foreach 中未定义 knockout 打印

javascript - 获取响应式嵌入图像的高度

javascript - 无法在 Polymer 中获取 d3 的元素

django - 如何在 django 模板中嵌入 SVG 图像

javascript - 隐藏的侧面板菜单的填充使其部分可见

javascript - setInterval添加多个svg元素,x位置相对性