//1. 用外层函数包裹要保护的变量和内层函数 function outer() { var i = 1; //2. 外层函数返回内层函数对象到外部 return function () { console.log(i++); i = null; } } //3. 调用外层函数获得内层函数对象 var getNum = outer(); //getNum:function(){ console.log(i++); } getNum(); //1 getNum(); //0 i = 1; getNum(); //0 getNum(); //0
在执行完第一次 getNum() 函数时我们就将 i 变量设为 null,再次执行 getNum() 函数时发现所得结果已经变为 0 了,说明 outer() 函数内的 i 变量内存已经被释放了!!!
至此 JavaScript 闭包的全部内容就讲解完毕了,以上内容如有纰漏请各位大神批评指正。
好记性不如烂笔头,特此记录,与君共勉!
以上所述是小编给大家介绍的JavaScript闭包详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
您可能感兴趣的文章: