php5.5新添加一个新特性 yeild 官方文档,想用闭包模拟一下yeild,然后发现JS和PHP闭包的差别
<?php function php_shell(){ $arr = [9,8,7,6,5,4,3,2,1]; $func = function () use($arr){ //use(&$arr) 结果会不一样 return array_pop($arr); }; return $func; } $func = php_shell(); for($i = 0 ; $i <= 6; $i++){ echo $func(); echo "<br/>/r/n"; } ?> <script> function js_shell(){ var arr = [9,8,7,6,5,4,3,2,1]; var func = function(){ return arr.pop(); }; return func; } var func = js_shell(); for(var i = 0 ; i <= 6; i++){ console.log(func()); } </script>
结果截图(左边是PHP结果,右边是JS结果)两边
简约夏季促销宣传合集矢量模板适用于夏季促销活动的宣传海报、社交媒体广告、电子邮件营销模板、网站横幅、产品目录、促销传单、店内展示牌、夏季主题的名片和邀请函、季节性包装设计、户外广告牌、品牌夏季推广的印刷物料以及数字广告相关等相关视觉场景设计的AI格式素材。
立即学习“PHP免费学习笔记(深入)”;
很明显:JS和PHP在闭包的变量的处理有差异再PHP匿名函数 use 变量加上引用符号,然后结果就是一样的了










