JavaScript闭包

2020-12-30 17:25:42 浏览数 (1)

有一个例子

代码语言:javascript复制
 function f1(){

    var n=999;

    nAdd=function(){n =1}

    function f2(){
      alert(n);
    }

    return f2;

  }

输入:f1 输出:function f1() //返回一个function对象的f1

输入:f1()() 输出:

输入:nAdd 输出:function f1/nAdd() //返回一个function对象的nAdd,也有浏览器输出 function (){n =1}

输入:nAdd 再输入:f1() 输出:

加上代码

代码语言:javascript复制
 var result=f1();

  result(); // 999,   第一次alert(999)

  nAdd();

  result(); // 1000    第二次alert(1000)

代码参照:阮一峰的网络日志

0 人点赞