首页 > 编程知识 正文

java回调函数的理解,js中的回调函数

时间:2023-05-05 16:20:50 阅读:39558 作者:3616

(一)回调函数是定义一个函数并将其作为参数提供给另一个函数时创建回调的函数。 此定义的函数称为回调函数,将该函数作为参数接收的函数称为高阶函数。 这句话是不是有点别扭,很难理解? 没关系。 接下来请举例理解。

首先,做一个吃东西的函数。

只需创建接受something参数的函数eat(something )。 此函数必须返回食物信息:

功能eat (somethin t ) {return `I like eat ${something}! `; }eat(Hamburg ); //='I like eat Hamburg!' 如果你喜欢吃很多怎么办? map ) )函数实现。

var foods=['Hamburg ',' Ice cream']; varmsg=Foods.map(eat ); msg; //=['I like eat Hamburg! ",' I like eat Ice cream!' ]foods.map(eat )检索foods数组中的所有元素,单独检索数组中的每个元素,然后调用eat ) )函数:eat ) Hamburg )、eat ) icecream )。

foods.map(eat )方法可以接受eat ) )函数作为参数。 eat ()现在为回调函数

FOODS.map(eat )是一个以另一个函数为参数的函数,因此被称为高级函数

当然,也可以自己创建和使用回调的高阶函数。 array.map ) )函数的等效实现方法。

功能eat (somethin t ) {return `I like eat ${something}! `; }功能图(array,callback ) {var foodsArray=[]; for(letitemofarray ) foodsarray.push ) callback (item ); }返回foodsarray; }var foods=['Hamburg ',' Ice cream']; varmsg=map(Foods,eat ); msg; //=['I like eat Hamburg! ",' I like eat Ice cream!' ]我们定制的映射(阵列,回调)是一个高阶函数,因为它使用回调函数eat )作为参数,并在主题内部调用回调函数callback (item )

补充:

上述map (高次函数中的for )循环为什么不是以传统的for ) varI=0,而是以for (letitemofarray )的形式写入的; i array.length; I )一方面是为了*B,另一方面可以减少代码的写入量。 程序猴子都喜欢有点不同吧。

for(let item in array)与for(let item of array)的简单比较以及使用:

//在控制台上var array=['Hamburg ',' Ice cream']; //输出的是下表for(letiteminarray ) console.log (item ); () ) /输出结果:0(1) /输出为数组元素for(letitemofarray ) console.log ) item ); //输出结果: Hamburg Ice cream

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。