这个d3代码在哪里执行
where is this d3 code executed?
我在https://www.dashingd3js.com/svg-paths-and-d3js今天我突然想到,所有的d3代码都是可变语句;似乎没有什么可以"调用"它并说"现在使用这些变量定义来绘制svg对象"。所以我的问题是:调用发生在哪里。调用是否在d3.min.js代码中?或者是关于var语句的定义方式,还是其他什么?感谢您在这个基本问题上的帮助。
也是的:我确实试着在谷歌上搜索了一个小时左右,为自己找了个理由。如果不是万不得已的话,我再也不会在这里发帖了。
<!DOCTYPE html>
<meta charset="utf-8">
<body>
<script src="d3.min.js"></script>
<script>
var lineData = [ { "x": 1, "y": 5}, { "x": 20, "y": 20},
{ "x": 40, "y": 10}, { "x": 60, "y": 40},
{ "x": 80, "y": 5}, { "x": 100, "y": 60}];
//This is the accessor function we talked about above
var lineFunction = d3.svg.line()
.x(function(d) { return d.x; })
.y(function(d) { return d.y; })
.interpolate("linear");
//The SVG Container
var svgContainer = d3.select("body").append("svg")
.attr("width", 200)
.attr("height", 200);
//The line SVG Path we draw
var lineGraph = svgContainer.append("path")
.attr("d", lineFunction(lineData))
.attr("stroke", "blue")
.attr("stroke-width", 2)
.attr("fill", "none");
</script>
</body>
</html>
我认为您想要实现的关键是"append"方法。
如果你拿这条分界线为例。。。
var svgContainer = d3.select("body").append("svg")
d3找到了"body"元素,现在它创建了一个新的"svg"元素。
然后你会看到另一条类似的线。。。
var lineGraph = svgContainer.append("path")
我们现在在svg内部添加了一个"路径"。
之前创建的"lineFunction"是一个基本上会返回路径坐标值的函数(你可以给它一个返回值的函数,而不仅仅是一个值),基本上就是这样。其余的只是各个元素的属性。
好吧,你的问题更多的是关于Javascript是如何工作的。顾名思义,Javascript是一种脚本语言。
根据您希望JavaScript代码做什么以及如何构建它,它要么在文件加载后立即执行,要么等待触发事件(如单击或加载)。
与编译语言不同,JS逐语句执行代码。
所以回答你的问题。由于上面的代码中没有事件,浏览器在看到代码的那一刻就开始执行代码。
var lineFunction = d3.svg.line() is a function and browser evaluates it when it encounter it.
我试着用非常简单的术语来解释,如果你还有什么问题可以问的话。
<script>
标记中的内容。
var lineFunction = d3.svg.line()
表示调用方法d3.svg.line并将结果返回到lineFunction
相关文章:
- 在哪里使用名为“;冻结”;
- Ember.js-接口状态应该存储在哪里
- 在Redux中,我应该在哪里编写复杂的异步流
- 在哪里可以学习ECMAScript标准中尚未包含的JavaScript功能
- 在哪里可以找到RXUI Javascript'时间飞逝'实例
- Redux应用程序结构-在哪里放置服务/业务逻辑
- 在哪里可以找到'项目'在plothover函数中
- Javascript-在哪里放置常量,全局或本地
- Sequelize:这些方法应该驻留在哪里
- AJAX更新面板不;t工作.请帮我找出我错在哪里.
- 在哪里存储HTML模板以在Backbone.js中使用
- ForerunnerDB将其数据库保存在哪里
- 在哪里可以找到R-to-JavaScript编译器
- 很棒的共享按钮application.coffee文件在哪里
- WinJs中的视图状态更改事件在哪里
- 事件侦听器调用函数后,代码的执行在哪里继续
- 这个d3代码在哪里执行
- 在javascript的循环中异步执行一个函数-在哪里放置defer.resolve
- Redux重载:我应该在哪里执行多个文件的下载并保存到FS
- ASP.NET代码隐藏文件在哪里执行?(客户端或服务器)