有几个问题关于匿名函数和回调函数

有几个问题关于匿名函数和回调函数

  1. 匿名函数为没有函数名称的函数,可以存入变量。作为参数调入其他函数的时候称为回调函数。那这个其他函数有名字没。

  2. 匿名函数当作参数的时候,如果是变量的形式,是加不加引号?

3. 普通函数也可以变成参数当做回调函数吗?

4. 这么写,哪里还可以优化不。

<?php

//定义匿名函数

$con = function($score){

  global $score;

  global $get;

  if($score<=100 && $score>=80){

    $get = '优秀';

  }elseif($score<80 && $score>=60){

    $get = '合格';

  }elseif($score<60 && $score>=0){

    $get = '不合格';

  }else{

    $get = 'are you OK?';

  }

};

//定义回调函数,匿名函数作为参数传入普通函数Comment

function Comment($con){

  global $score;

 global $get;

  echo '我的成绩是:'.$score.'我得到的评价是:'.$get;

}

//设置全局变量$score和$get的初始值

$score = 0;

$get = ' ';

//调用函数Comment,参数为匿名函数,匿名函数的参数为全局变量$score;

Comment($con($score));

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

你好,代码逻辑是正确的,普通函数也可以变成参数当做回调函数,函数中传递参数是不加引号的,普通函数也可以变成参数当做回调函数,如果解决您的问题请采纳,祝学习愉快!

  • 梅三喵 提问者 #1
    非常感谢!
    2017-12-11 19:24:32
  • 梅三喵 提问者 #2
    你好 再问下,购买的这套教程会过期吗?会的话,过期了视频还能看吗?续费多钱?
    2017-12-11 19:29:19
imooc_澈 2017-12-12 09:49:41

您好,视频无限期,教学服务是有期限的,过期后,除了视频以及您自己提出的问题,做的作业和笔记以外,不在享受其他教学服务,这里的其他教学服务包括作业,问答,习题,教辅。教学服务可以续费,但每个课程的价格有区别,您可以进入专题页面如下图,点击红框就可以看到每个课程对应时长的续费价格了。

http://img1.sycdn.imooc.com//climg/5a2f355c0001740b17590594.jpg

祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师