1.变量的作用域

首先作用域分为:局部作用域和全局作用域

函数内部是可以直接读取全局变量

链式作用域:子对象会一级一级的向上寻找所有父对象的变量,所以所有对象的变量对对象是可见的。

2.闭包

闭包就是能够读取其他函数内部变量的函数。(如f2这个函数)

  function f1(){

    var n=999;

    function f2(){
      alert(n); 
    } 

    return f2;

  }

  var result=f1();

  result(); // 999

 3.闭包的作用

 第一是为了读取内部的变量

第二是为了让这些变量的值始终保持在内存中