当内部函数被返回到外部并保存时,一定会产生闭包。闭包会产生原来的作用域链,不释放。
闭包,可以理解为,写一个函数,然后产生闭包的这种现象。
概念:
基础:
主要是:add reduce 被返回出去后,会死死的抓住test()中的AO(数据n)
利用对象的形式
深度:
但是,我们期望的输出结果是打印(0-9),那么怎么打印出我们期望的呢?
综合上图分析,输出10个10的原因是,在i变成10我们才执行函数,那么如果我们能够立即执行函数,
是不是就可以输出0到9了呢?
法一:
法二:
法三:(最常见最常用的方法)
为了证明法三常用,这里说一个面试题
12345,点击数字后,分别输出他们所对应的下标和索引