回调函数与匿名函数,一段值得研究的代码

原创 2017年11月14日 20:02:43
//声明函数swap,作为下面匿名函数的回调函数
function swap(&$x, &$y)
{
    $temp = $x;
    $x = $y;
    $y = $temp;

    return;
}

//call_user_func_array调用的回调函数
function add($a, $b)
{
    return $a + $b;
}

//匿名函数,即不声明函数名称而使用一个变量来代替函数声明
$fuc = function ($fucName) {
    $x = 1;
    $y = 2;
    //调用回调函数
    $fucName($x, $y);
    echo 'x=' . $x . ',y=' . $y;
    echo '<br>';
    $arr = array($x, $y);
    //与$fucName($x, $y)相同效果
    //这里无法调用swap方法,因为swap方法是对参数引用传值
    //与call_user_func_array都无法调用引用传参形式的函数
    echo call_user_func('add', $x ,$y);
};

//调用方式
$fuc('swap');
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

C++11新特性:Lambda函数(匿名函数) 一段代码即可理解

C++11新特性:Lambda函数(匿名函数) 一段代码即可理解 基本lambda语法 基本形式如下: [capture](parameters)->return-type ...

匿名函数(回调函数)的理解思路

//普通函数 /*function box(){ return 'abc' } window.alert(box());*/ /*匿名函数:就是没有给名称的函数或者名称被隐藏的函数; functi...

Javascript回调函数和匿名函数实例

分享下Javascript中回调函数和匿名函数的回调示例。 例子:         Insert title here    /*  * 匿名函数自调的意义:  1.营造了一个...

微信小程序开发教程(基础篇)4-关于回调函数,匿名函数,闭包的杂谈

严格来说,这不能算是一篇微信小程序教程,不过会使用到上一篇中的app.js代码作为示例,姑且充个数吧。 回调函数 回调函数,对于初入编程这一行的同学可能会有些难以理解,毕竟回调函数的使用和程序顺序...

Unity 之 C# 利用回调函数实现C++匿名函数

做C++开发的都用过匿名函数非常好用,但是C#开发怎么实现呢? 前几天做一个拍照功能的时候,我偶然发现某个函数如果是C++的话,用匿名函数太好了,于是开始研究C#的回调,代理,委托等,最后总算是实现了...

使用匿名函数在回调函数中正确访问JS循环变量

有时候, 需要以不同的参数调用某个URL,并且在回调函数中仍然可以访问正在使用的参数, 这时候, 需要使用闭包保存当前参数, 否则, 当回调函数执行时, 之前的参数很可能早已被修改为最后一个参数了。 ...

Javascript中的回调函数和匿名函数的回调

匿名函数自调的意义: 1.营造了一个封闭的空间 2.防止变量冲突 3.有选择性的对外开发(第三方框架都是对js这样封装的)...
  • HYM1987
  • HYM1987
  • 2014年05月10日 14:07
  • 2009

SEL(去除警告)、Block(block深入研究、block回调--匿名函数)

SEL: SEL:全称Selector 表示方法的存储位置。SEL其实是对方法的一种包装,将方法包装成一个SEL类型的数据,去寻找对应的方法地址,找到方法地址后就可以调用方法。SEL这种类型的数据,保...

JavaScript 函数总体概述(函数声明/参数传递/返回值/加载/变量和作用域/变量声明提升/匿名函数/回调函数)

1. 函数的概念和定义 函数就是可以重复执行的代码块。 ① 函数声明(自定义声明) 使用在定义之前或之后均可function 函数名(形参) { } ② 函数表达式(匿名函数法) ...

JavaScript面向对象学习笔记——函数、匿名函数、回调函数、自调函数

函数在JavaScript中,函数也是一种数据类型,定义函数有两种方式:function f(){return 1;} var f=function(){return 1;}所以,JavaScript...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:回调函数与匿名函数,一段值得研究的代码
举报原因:
原因补充:

(最多只允许输入30个字)