小谈闭包

猥琐男:闭包?

死肥宅:一个函数return一个函数,且引用这个函数的变量?

闷骚男:其实闭包就是内部函数,我们可以通过在一个函数内部或者{}块里面定义一个函数(引用函数内部的变量)来创建闭包;

死肥宅:搜嘎;

猥琐男:那他有什么用呢?

死肥宅:为了延长变量的生存周期

闷骚男:出个题考考你们?

(function autorun(){
    let x = 1;
    function log(){
      console.log(x);
    };
    
    function run(fn){
      let x = 100;
      fn();
    }
    run(log);
})();

死肥宅/猥琐男:100

闷骚男:1

死肥宅/猥琐男:?

闷骚男:重点来了,请记好笔记---闭包的外部作用域是在其定义的时候就已经决定,而不是执行时候

死肥宅/猥琐男:原来如此!

  以上剧情如有雷同,纯属巧合;

  欢迎大佬指正。、

posted @ 2019-04-08 23:07  Devin_n  阅读(115)  评论(0编辑  收藏  举报