javascript回调如何知道它们的参数
How javascript callbacks knows what are their parameters?
想象一下我有以下场景:
var dataset = [5, 5, 5, 5, 5]
d3.select("body").selectAll("p")
.data(dataset)
.enter()
.append("p")
.text(function(a) { return a;});
我不明白javascript是如何知道我在处理数据的,这与.text方法的定义有关吗?
然后我读了这篇文章,更加困惑,因为它对我来说不起作用。给定代码:
d3.select("body").selectAll("p")
.data(dataset)
.enter()
.append("p")
.text(function(err, data) { return data;});
我的输出是:
0
1
2
3
4
所以我的问题是:什么是惯例?它是如何实现的?
而不是
.text(function(err, data) { return data;});
代码应该是:
.text(function(data, index) { return data;});
因为d3回调将数据作为函数中的第一个输入,将索引作为函数的第二个输入。
看看这把小提琴:https://jsfiddle.net/m8h0maLn/1/
在.text()方法中callback.apply(this,[this.err,this.someData])
"this"指的是d3原型
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 使用Express捕获参数
- 如何知道函数的参数中传递的var名称
- Node.js如何知道回调的第一个参数是否是错误处理程序
- javascript回调如何知道它们的参数
- 是否有可能知道用户何时点击YouTube视频上的广告
- $scope函数参数从何而来
- 你怎么知道要为 javascript 函数设置哪些参数
- 如何知道jQuery回调函数中有哪些参数可用,如何理解它并添加参数
- Don'我不知道如何发送带有get请求参数的字符串
- 下面的Javascript函数是通过值还是通过引用传递参数?我不知道如何区分这两者
- 获取“未定义无参数构造函数”;错误,不知道为什么
- 如何知道这个javascript函数中参数的值
- web服务器如何知道在提交表单时使用哪些参数?
- 函数能知道它作为参数使用的变量的名称吗
- 在MongoDB中,当搜索多个参数时,如何知道哪个参数匹配
- 传递给高阶函数的函数中的参数从何而来
- AngularJS - DI系统是如何知道参数的名字的?
- 在javascript中,我如何知道函数所期望的参数类型
- Backbone JS:集合视图中表示模型的参数从何而来?