PHP 匿名関数と JS 匿名関数

WBOY
リリース: 2016-06-20 12:30:17
オリジナル
775 人が閲覧しました

php5.5 では、yield の新機能が追加されました。クロージャを使用して Yield をシミュレートし、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 の結果)

明らかです。JS と PHP ではクロージャー変数の処理に違いがあります。次に、参照を追加します。 PHP 匿名関数にシンボルを変数を使用しても、結果は同じです

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!