js 闭包的认知提升
作者:互联网
function counter (arg){ return function(){ return { add:function(){ arg++ console.log(arg) }, min: function() { arg-- console.log(arg) } } } } const useCounter = counter(100) for(let i = 0;i<10;i++){ useCounter().add() } for(let i = 0;i<2;i++) { useCounter().min() } // > 101 // > 102 // > 103 // > 104 // > 105 // > 106 // > 107 // > 108 // > 109 // > 110 // > 109 // > 108
函数内部的值的被return的函数使用,然后被赋值在useCounter上保留,这才能保证内部的arg参数不被销毁,一转我以往以为闭包只是函数使用来自外部变量的认知。
标签:闭包,function,return,认知,js,arg,console,useCounter 来源: https://www.cnblogs.com/timeObserver/p/16286480.html