匿名函数 基本概念 匿名函数:没有名字的函数 基本语法: 变量名 = function(){ // 函数体 }; 需要分号做结束, 变量保存匿名函数,本质得到的是一个对象(Closure) 闭包:closure,一词来源
匿名函数:没有名字的函数
基本语法:
变量名 = function(){
// 函数体
};
需要分号做结束,
变量保存匿名函数,本质得到的是一个对象(Closure)
闭包:closure,一词来源以下两者的结合:要执行的代码块(由于自由变量被包含在代码块中,这些自由变量以及它们引用的对象没有被释放)和为自由变量提供绑定的计算机环境(作用域)
简单理解:函数内部有一些局部变量(要执行的代码块)在函数执行之后没有被释放,是因为在函数内部还有对应的函数在引用 (函数的内部函数:匿名函数)
证明:函数的局部变量在函数使用完之后没有被释放?
1、使用内部匿名函数;
2、匿名函数使用局部变量:use
3、匿名函数被返回给外部使用
PHP// 匿名函数// 定义基本匿名函数$func = function () { // 函数体 echo 'hello world';};// 调用函数名:可变函数// $func();// 查看变量内容// var_dump($func);// 闭包函数function display(){ //定义变量:局部变量 $name = __FUNCTION__; // 定义匿名函数 $innerfunction = function () use ($name) { // use就是将外部变量(本身也是局部的)(局部)保留给内部使用 // 函数内部的函数 echo $name; }; $innerfunction();}// display();// --------------------------------------------------------------------------function display1(){ //定义变量:局部变量 $name = __FUNCTION__; // 定义匿名函数 $innerfunction = function () use ($name) { // use就是将外部变量(本身也是局部的)(局部)保留给内部使用 // 函数内部的函数 echo $name; }; // 返回内部匿名函数 return $innerfunction;}// display1()();$closure = display1();// // // 到现在位置:display1函数运行结束:理论上局部变量$name应该已经被释放$closure();
来源地址:https://blog.csdn.net/qq_63347711/article/details/128673190
--结束END--
本文标题: PHP匿名函数
本文链接: https://www.lsjlt.com/news/399520.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0