楚乔传为你解秘闭包

1,189 阅读5分钟

楚乔传为你解秘闭包

原创 2017-08-04 神码大姐 神码大姐 神码大姐 神码大姐

微信号

功能介绍 一个前端码农对技术,生活,育儿,八卦的闲聊。


眼看燕北的势力日益壮大,大魏皇帝赵正德正托着下巴思忖着燕将是否有造反之意。这天他约见了颇有谋略的宇文府四少宇文钥。


远处宇文钥来到大殿,定了定神,毕恭毕敬的说道 :“皇上,今日传微臣来,不知所谓何事?”


皇上,看了看他。眯着眼睛,装作毫不在意的吟起诗来:“韩亡子房奋,秦帝鲁连耻。本自江海人,忠义感君子。”随后又继续煞有介事的说:“孝静皇帝咏完这首诗,没有多久,就被高氏逆贼残杀。在邺城,乱臣贼子高洋,杀我皇族七百二十一人,连个婴儿多不放过,这么多年来,我元氏皇族,血流成河……”


宇文钥皱了皱眉,他早已知晓皇帝生性多疑。不过此记得他才明了皇帝心中的盘算。


他微微一笑:“陛下担忧之事,正是微臣这几日夜不能寐的原因,不过微臣已然知晓其中之奥秘,可否允许微臣为陛下解忧,只需少许笔墨。”


皇上一听,大喜,立马叫下人呈上笔墨。


不出一盏茶的时间,宇文钥呈给皇上了一幅图。并解释道:“陛下,请看。这一幅图正是奥秘所在。这张图称为局势地图。kingdomWei就是我大魏王朝,yanBei象征燕北势力。这么多年来,我大魏为君,燕北为臣。就像这个例子,燕北可知晓我大魏江山和兵符(jiangshan,bingfu),而大魏却不知燕北军队(xiulijun)的一举一动。这就是症结所在。”


  function kingdomWei () { //我是所向披靡的大魏

      var jiangshan = "大魏王朝的江山";

      var junquan = "兵符";

      function yanBei(){

           var xiulijun = "效忠大魏";

   alert(jiangshan); // 原来大魏的江山如此辽阔,可臣不敢觊觎(正确执行)

           alert(junquan ); //臣虽有军权,但忠心不二(正确执行)

  }

       yanBei();

       alert(xiulijun);//此处会报错

  }

  kingdomWei();

局势地图


皇帝听后,点了点头。“那你可有破解之法?”


宇文钥答:“臣暂时没有,但愿为陛下解忧,三日之内,必想出破解之法。”


宇文钥回到府中,一心想着那局势地图。仔细剖析了当前的形势。为了更好的理解其中的道理,他又把这些奇怪的符号似的东西放到一个叫浏览器的容器中执行了很多次。他终于参透了其中奥妙。


原来每个 function 对象在执行时会创建一个称为“运行期上下文(execution context)”的内部对象,用来表明当前函数的运行环境。而整个运行时的环境以链式的形式进行组织。也就是类似于如下模式:

基于这个理论,这个scopeChain是单向的。要想让燕北为我大魏服务,并把秀丽军的情报告诉我的确有些困难。想到这里,宇文钥叹了口气。


两天过去了,约定之期就在眼前。宇文钥还是没能想到破解之法。


就在这时,刚巧碰到正在练剑的星儿,便把事情的始末告诉了她。星儿果然是公子的得利助手。 “公子莫愁,星儿自有办法。既然,迫于作用域链,大魏获取不到燕北军队的真心,何不建一座桥,再派个探子去,把消息带回来。”


“那如何,如何。。。建这座桥?”钥公子急切的问道。


星儿不慌不乱,在原来的局势图中,略加了几笔,并双手将局势图交还给了钥公子。



钥公子接过地图:“如此精妙!消息虽然不能自己走,但可由function代劳,而function是可以被返回的。如此一来,这个function果然承担了桥梁的作用啊。”倾刻间,二人相视而笑。


function kingdomWei () { //我是所向披靡的大魏

    var jiangshan = "大魏王朝的江山";

    var junquan = "兵符";

    function yanBei(){

        var xiulijun = "效忠大魏";

        alert(jiangshan); // 原来大魏的江山如此辽阔,可臣不敢觊觎(正确执行)

        alert(junquan ); //臣虽有军权,但忠心不二(正确执行)


        function closure() {

            alert(xiulijun);

        }

        return closure;

    }

    yanBei()();

}

kingdomWei();


这样,燕北军队效忠大魏之心不二的消息成功传回了皇帝的耳朵里。至此,大魏进入了相当长的一段和平年代。军心稳定,百姓安乐。而当时修建的这座传递消息的桥梁也被人们称为“闭包桥”,承担着造福大魏和燕北人民交流的重要作用。 



   

关注神码大姐

分享前端技术秘籍



陛下,给星儿打个赏吧

赞赏

人赞赏

长按二维码向我转账

陛下,给星儿打个赏吧

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

阅读 投诉

微信扫一扫
关注该公众号

即将打开""小程序 取消 打开