<!DOCTYPE html> <html> <head> <title></title> </head> <body> <script type="text/javascript"> /* 1.什么是闭包(closure)? 闭包是一种特殊的函数。 2.如何生成一个闭包? 所以只要满足"是函数嵌套"、"内部函数引用外部函数数据" 3.闭包特点: 只要闭包还在使用外部函数的数据, 那么外部的数据就一直不会被释放 也就是说可以延长外部函数数据的生命周期 4.闭包注意点: 当后续不需要使用闭包时候, 一定要手动将闭包设置为null, 否则会出现内存泄漏 */ /* function test() { var i=666; } console.log(i);//会错.为什么,因为变量i作用域再test函数括号内*/ function test(i) { return function demo() { console.log(i);//内部函数引用了外部的数据i } } let fn=test(666); fn(); //可以将闭包变化为: (function test(i) { console.log(i); })(666); </script> </body> </html>
dom啦19 闭包
关注
打赏