前端PHP入门-012-回调函数[慎入]
尽力而为,对于WEB前端和美工同学,比较难了!但是你们都学过JS的闭包等操作,那么这里也一定没有问题!
回调函数,可以配合匿名函数和变量函数实现更加优美、复杂的一种函数结构。
回调函数,就是在处理一个功能的时候,我让让这个功能自定义能力再强一些,我准许调用这个函数的时候,还可以传入一个函数配合、协助进行处理。
这是 变量函数[忘记赶快回看] 和 回调函数 结合的一个章节。
这块理解了,我想对JS也是一个提高!
<?phpfunction woziji($one,$two,$func){//我规定:检查$func是否是函数,如果不是函数停止执行本段代码,返回falseif(!is_callable($func)){return false;}//我把$one、$two相加,再把$one和$two传入$func这个函数中处理一次//$func是一个变量函数,参见变量函数这一章echo $one + $two + $func($one,$two);}//我们定义几个函数试试function plusx2( $foo , $bar){$result = ($foo+$bar)*2;return $result;}function jian( $x , $y ){$result = $x - $y;return $result;}//调用一下函数,woziji,向里面传入参数试试echo woziji(20,10,'plusx2');//将plusx2改成jian试试结果echo woziji(20,10,'jian');?>
处理过程是这样的:
- 将20赋值给形参one,10赋值给了" role="presentation" style="position: relative;">one,10赋值给了one,10赋值给了two,而plusx2或者jian这两个变量函数,赋值给了$func
- 在woziji这个函数中判断plusx2或者jian是否为函数,不是函数就return false 停止执行了
- 显示plusx2或者jian是函数。因此one=20," role="presentation" style="position: relative;">one=20,one=20,two =10相加了,相加后,one和" role="presentation" style="position: relative;">one和one和two又带入到了了func(" role="presentation" style="position: relative;">func(func(one,$two)中。
- 带入至里面后而func,是可变的,可以为plusx2或者jian。如果为plusx2的话," role="presentation" style="position: relative;">func,是可变的,可以为plusx2或者jian。如果为plusx2的话,func,是可变的,可以为plusx2或者jian。如果为plusx2的话,one = 20,two=10的这个两个结果又给了plusx2函数里面的" role="presentation" style="position: relative;">two=10的这个两个结果又给了plusx2函数里面的two=10的这个两个结果又给了plusx2函数里面的foo和$bar
- foo+" role="presentation" style="position: relative;">foo+foo+bar 乘以2后将结果返回至woziji这个函数功能体的运算处:one+" role="presentation" style="position: relative;">one+one+two + func(" role="presentation" style="position: relative;">func(func(one,$two);
- 这样主得到了运算结果
回调函数:在一个调数里面,再传入一个函数名,将函数名加上()括号。识为变量函数,配合执行。
前端PHP入门-012-回调函数[慎入]的更多相关文章
- 前端PHP入门-009-匿名函数
想想JavaScript当中是否有这个概念? 所谓匿名,就是没有名字. 匿名函数,也就是没有函数名的函数. 匿名函数的第一种用法,直接把赋数赋值给变量,调用变量即为调用函数. 匿名函数的写法比较灵活. ...
- 前端PHP入门-015-递归函数-飘过
提要: 如果感觉吃力,web前端的各位同学,可以弃之. 递归函数,递归只是一个名字,而递归函数的规定: 函数体内调用函数自己 . 我们来计算 10!=10*9*8*7*6*5*4*3*2*1 web前 ...
- 前端PHP入门-008-自定义函数
大家已经是有编程经验的WEB前端,那么对于函数已经很熟悉了,PHP当中定义函数跟你们学习的JavaScript一样 想想有哪些函数类型? 我们在实际开发过程当中需要有很多功能都需要反复使用到,而这些反 ...
- 前端PHP入门-030-文件函数API
bool file_exists ( $指定文件名或者文件路径) 功能:文件是否存在. bool is_readable ( $指定文件名或者文件路径) 功能:文件是否可读 bool is_write ...
- 前端PHP入门-019-内置函数之数学函数-很重要
查看帮助文档为主 函数名 描述 实例 输入 输出 abs() 求绝对值 $abs = abs(-4.2); //4.2 数字 绝对值数字 ceil() 进一法取整 echo ceil(9.999); ...
- 前端PHP入门-018-内置函数之文件包含函数
在实际开发中,常常需要把程序中的公用代码放到一个文件中,使用这些代码的文件只需要包含这个文件即可.这种方法有助于提高代码的重用性,给代码的编写与维护带来很大的便利. 在PHP中, 有require.r ...
- 前端PHP入门-010-内部函数
内部函数,是指在函数内部又声明了一个函数. 注意事项: 内部函数名,不能是已存在的函数名 假设在函数a里面定义了一个内部函数,不能调用两次函数a. <?php function foo() { ...
- 如何写JavaScript中的callback回调函数
如何写回调函数? 如果自己在写一个方法或函数,你有可能会遇到需要一个回调函数.下面就是一个简单的常见回调函数例子: function mySandwich(param1, param2, callba ...
- 后端小白的VUE入门笔记, 前端高能慎入
因为项目需要前后端分离,后端竟然不用控制view层了,页面的跳转后端不再干涉,(前端的vue经过打包后成了一张index.html) 后端只需要响应给前端json串就ok,其实这不是爽歪歪?但是觉得还 ...
随机推荐
- 20170928-3 四则运算psp
1.本周psp: 2.本周进度条: 3.累计进度图(折线图): 4.psp饼状图:
- 对首师大研究生院的UI分析
我们分析的是首都师范大学研究生院的UI界面 网站链接http://grad.cnu.edu.cn/index.htm 学校设计和石家庄铁道大学的界面类似,都是有一个大的置顶的名字,将学校或者学院的名字 ...
- FPGA的软核与硬核
硬核 zynq和pynq系列的fpga都是双ARM/Cortex-A9构成,这里的ARM处理器为硬核,Cortex-A9部分为FPGA部分.即整体分为两部分:PS/PL.PS部分为A9处理器部分,PL ...
- 0422 寻找数学口袋精灵BUG
首先要部署这个app项目就是第一步: 一.前提下载并安装JDK 在线图解:手把手教你安装JDK http://www.lvtao.net/server/windows-setup-jdk.h ...
- 初学Objective - C语法之代码块(block)
一.block声明 1.无参数,无返回值: void (^sayHi)(); 2.有参数,有返回值: NSInteger (^operateOfValue)(NSInteger num); block ...
- webpack打包多html开发案例
简单说明: 1,案例没有使用devserver,所以不能实时查看 2,案例是将src下面的html.css.js分别进行处理 3,多html的规律是需要有多个entry,每个html一个entry,当 ...
- Vue数据绑定和响应式原理
Vue数据绑定和响应式原理 当实例化一个Vue构造函数,会执行 Vue 的 init 方法,在 init 方法中主要执行三部分内容,一是初始化环境变量,而是处理 Vue 组件数据,三是解析挂载组件.以 ...
- JMS学习一(JMS介绍)
一.JMS是个什么鬼 1.百度百科解释:JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之 ...
- java 使用volatile实现线程数据的共享
java 使用volatile实现线程数据的共享 直接上代码看效果: public class VolatileTest extends Thread { private volatile boole ...
- 第93天:CSS3 中边框详解
CSS3 边框详解 其中边框圆角.边框阴影属性,应用十分广泛,兼容性也相对较好,具有符合渐进增强原则的特征,我们需要重点掌握. 一.边框圆角 border-radius 每个角可以设置两个值 ...