回调函数的定义以及它如何适用于array.prototype.forEach/map/filter方法
definition for callback function and how it fits for array.prototype.forEach/map/filter methods
这可能被认为是一个愚蠢的问题。但我对此有些困惑,这就是为什么我要在这里问这个问题。在这里的这个网站。我觉得这个网站信息量很大。这里描述了回调函数的一些定义,它们是
1.可以作为参数传递给另一个函数
2.可用作clousers。
3.可以在容器函数内部的任何点访问。
但回调还有另一个定义:
需要注意的是,回调函数没有执行立即它在指定的时间被"回调"(因此得名)包含函数主体内的点
适用于任何点击事件。如document.getElementById('id').onclick=function(){};
但是它如何适用于数组方法,如forEach、map、filter、some和every。它们似乎在运行时立即调用。根据定义3,我不能在任何地方使用它们。我不知道它们是否可以用作clouser,因为我不是javascript专家。我还在努力学习。那么它是如何适合javascript中回调的定义的呢。
A不会将这些语句视为定义。如果你正在寻找一个定义,可以看看你最喜欢的计算机科学书籍。或者维基百科:
回调是一段可执行代码,它作为参数传递给其他代码,期望其他代码在方便的时候回调(执行)参数。
这篇文章只指出,作为onclick
事件侦听器的回调这一特定用途不会立即执行。这并不适用于所有的回调。维基百科继续:
调用可能是立即的,如在同步回调中,也可能在稍后发生,如在异步回调
并非JavaScript中的所有回调都是异步的(另请参阅这些问题)。然而,它们通常与异步相关,因为JavaScript中的所有异步任务都使用回调。
根据定义3,我不能在任何地方使用它们。
你没有。map
、filter
等——"容器函数"——确实如此。他们想从哪里打电话给他们。
我不知道他们是否可以用作clousers
是的。所有的JavaScript函数都是闭包——无论从哪里调用它们,它们都可以访问父作用域。
- 复选框:使用Array.prototype.forEach调用推送选中订单,
- 为什么你不能做[array].forEach(console.log)
- 将参数传递给 Array.forEach 回调函数
- ExtJs 5.0:forEach on Array of Objects在IE8中不起作用
- json foreach array of arrays with jquery
- array.forEach的奇怪行为
- 在 Array.forEach 块中的所有承诺都已解决后返回
- javascript foreach on array / json data 但按最新日期排序
- 获取 Array.forEach 函数的返回值
- array.forEach之后的回调函数
- 正在使用 Array.map 作为 foreach 的良好做法
- Javascript array.forEach 与自定义键不起作用
- Array.prototype.forEach.call 给出 TypeError: 非法调用
- JavaScript 方法 array.forEach 在 Chrome 中工作吗?
- Array transformation with angular.forEach - AngularJS
- 使用 Array.prototype.forEach() 迭代数组与 Javascript 中的 for() 迭代数组有
- 正确使用 array.prototype.forEach()
- forEach() and Apply() methods for two dimensional array in J
- array.forEach比本机迭代运行得更快?怎样
- jQuery JSON结果中的ForEach Array值