伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

回调函数的学习

来源:本站原创 浏览:197次 时间:2021-06-18

  任何语言中,函数都是占据大半江山,学好函数是基本。今日主题,回调函数。

  我们先来写两个函数:

    1.将函数中的参数,每个都*2,然后push进数组,返回数组

    2.将函数中的参数,加1

    1 代码很简单,如下:

function multiplyBytwo (a,b,c) {    var i,arr = [];    for( i= 0;i<arguments.length;i++) {        arr[i] = arguments[i]*2    }    //console.log(arr);    return arr;}

调用: multiplyBytwo(1,2,3);//[2,4,6]

2的代码更简单,如下:

function addOne (a) {    //console.log(a+1);    return a+1;}

调用:addOne(2);//3

两个简单的函数和函数调用写好了,但是怎样将这两个函数合在一块呢?能不能以回调函数的形式的传参数呢?

我们都知道,函数的参数可以是变量之类的,也可以是函数之类的,那么我们尝试一下将函数作为参数传进函数,上代码:

function multiplyBytwo_callback(a,b,c,callback) {    var i=0,arr = [];    for( i= 0;i<arguments.length;i++) {        arr[i] = callback(arguments[i]*2)    }    console.log(arr);    return arr;}

function addOne (a) {    return a+1;}
 

上面的一个函数,传入四个参数,我们看第四个参数,在函数体执行的时候,看见它这样写的,callback(***),嗯,就是这样的,它是一个函数,加括号调用了。如果在for循环中 

arr[i] = arguments[i]*2  这样写,就跟刚开始讲的一样,就是将参数*2,但是这样写,
arr[i] = callback(arguments[i]*2),就是将参数*2后再传入callback中,然后在将它赋值给arr[i];

这样就很灵活了,我们想要什么样效果都可以来定义这个callback函数,现在我们定义这样一个函数

function addOne (a) {    return a+1;}

然后,调用multiplyBytwo_ca������,���ij�llback 函数

multiplyBytwo_callback(2,4,8,addOne);


或者:

  multiplyBytwo_callback(2,4,8,function addOne (a) {
    //console.log(a+1);
    return a+1;
  });//[ 5, 9, 17, NaN ]

 
如果想获得前三个元素在调用一些数组的slice方法,
function addOne (a) {    //console.log(a+1);    return a+1;}function multiplyBytwo_callback(a,b,c,callback) {    var i=0,arr = [];    for( i= 0;i<arguments.length;i++) {        arr[i] = callback(arguments[i]*2)    }    var a = arr.slice(0,-1);    console.log(a);    return a;}multiplyBytwo_callback(1,2,3,addOne);//[ 3, 5, 7 ]

  如有错误,敬请批评。

每日一句:It doesn't matter to be a mass of bruises, and this time I care nothing about。。。

翻译:这一次,遍体鳞伤也没关系;这一次,可以什么都不在乎

 

  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net