闭包在js中可以有静态变量的作用,php呢

 我来答
镇妙c
2017-11-24 · 超过72用户采纳过TA的回答
知道小有建树答主
回答量:218
采纳率:44%
帮助的人:87.3万
展开全部
作用域仅在函数内有效, 你返回的闭包是两个不同的函数, 所以static $object指向的变量其实是不一样的. 要达到你的预期, 应当这样改写函数:

function test($global)
{
static $object;
return function ($param) use (&$object, $global) {
if (is_null($object)) {
$object = new stdClass();
}

return $object;
};
}

$global = '';

$closure = test($global);
$firstCall = $closure(1);

$closure1 = test($global);
$secondCall = $closure1(2);

var_dump($firstCall);
echo '<hr>';
var_dump($secondCall);
详细你可以去后盾人看看,这些都是后盾人里面的,哪里有详细的视频教学都是高质量,我自己就是在里面学的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式