首页 > 代码库 > JS一星期旅途(第一天)

JS一星期旅途(第一天)

1.闭包:

  •    定义:

        指有权访问另一个函数作用域中的变量的函数。比如:函数中创建函数,跟据作用链得知,外层函数有权访问内部函数的变量,即称该内部的函数为闭包。

  •         益处:

     从外部读取局部变量  eg:

    function f1(){

      n=999;

      function f2(){
        alert(n);
      }

      return f2;

    }

    var result=f1();

    result(); // 999 访问函数局部变量n

让这些变量的值始终保持在内存中 eg:

    function f1(){

    var n=999;

    nAdd=function(){n+=1}

    function f2(){
      alert(n);
    }

    return f2;

  }

  var result=f1();

  result(); // 999

  nAdd();

  result(); // 1000

 

 

    

2.块级作用域。

js是没用块级作用域的,但可以模仿

eg:(function(){})();

var a=function(){}; a();->(function(){})();//取代a,就演化成该式