• 闭包的学习


    引自 http://stackoverflow.com/questions/111102/how-do-javascript-closures-work

    Once upon a time:

    There was a princess...

    function princess() {

    She lived in a wonderful world full of adventures. She met her Prince Charming, rode around her world on a unicorn, battled dragons, encountered talking animals, and many other fantastical things.

        var adventures = [];
    
        function princeCharming() { /* ... */ }
    
        var unicorn = { /* ... */ },
            dragons = [ /* ... */ ],
            squirrel = "Hello!";

    But she would always have to return back to her dull world of chores and grown-ups.

        return {

    And she would often tell them of her latest amazing adventure as a princess.

            story: function() {
                return adventures[adventures.length - 1];
            }
        };
    }

    But all they would see is a little girl...

    var littleGirl = princess();

    ...telling stories about magic and fantasy.

    littleGirl.story();

    And even though the grown-ups knew of real princesses, they would never believe in the unicorns or dragons because they could never see them. The grown-ups said that they only existed inside the little girl's imagination.

    But we know the real truth; that the little girl with the princess inside...

    ...is really a princess with a little girl inside.

  • 相关阅读:
    模块和包专区
    递归函数,三级菜单专区
    内置函数和匿名函数专区
    迭代器和生成器专区
    函数进阶专区
    初始函数专区
    题解 P6282 【[USACO20OPEN]Cereal S】
    题解 P6281 【[USACO20OPEN]Social Distancing S】
    题解 P6281 【[USACO20OPEN]Social Distancing S】
    第5题:棋盘
  • 原文地址:https://www.cnblogs.com/hhjiang14/p/4513807.html
Copyright © 2020-2023  润新知