面试题常考&必考之--js闭包特性和优缺点 (外加小例子)

当内部函数被返回到外部并保存时,一定会产生闭包。闭包会产生原来的作用域链,不释放。

闭包,可以理解为,写一个函数,然后产生闭包的这种现象。

概念:

 

 

基础:

主要是:add    reduce  被返回出去后,会死死的抓住test()中的AO(数据n)

 

利用对象的形式

 

 

深度:

 

 但是,我们期望的输出结果是打印(0-9),那么怎么打印出我们期望的呢?

综合上图分析,输出10个10的原因是,在i变成10我们才执行函数,那么如果我们能够立即执行函数,

是不是就可以输出0到9了呢?

法一:

 

法二:

 法三:(最常见最常用的方法)

 

 

 

 

 

为了证明法三常用,这里说一个面试题

12345,点击数字后,分别输出他们所对应的下标和索引

 

 

posted @ 2019-09-24 17:26  小白呀白菜  阅读(745)  评论(0编辑  收藏  举报