转载自博客:https://segmentfault.com/a/1190000009711065
经典前端面试题:
function test(){
for(var i = 0;i<5;i++){
setTimeout(function(){
console.log(i);
},i*1000);
}
}
闭包:闭包的作用域通常包括三个,第一是闭包自己的作用域, 第二是其包含函数的作用域,第三是全局作用域。
而闭包所包含的作用域是在闭包被定义的时候决定的,与何时调用闭包没有关系。
本文通过一道经典前端面试题,深入探讨了闭包的概念及其在异步执行环境中的作用。闭包能访问其外部函数的变量,即使外部函数已经执行完毕。在JavaScript中,闭包可以解决变量作用域问题,实现数据封装。本文还解释了闭包如何与setTimeout结合使用,导致在不同的时间间隔打印相同的值。
转载自博客:https://segmentfault.com/a/1190000009711065
经典前端面试题:
function test(){
for(var i = 0;i<5;i++){
setTimeout(function(){
console.log(i);
},i*1000);
}
}
闭包:闭包的作用域通常包括三个,第一是闭包自己的作用域, 第二是其包含函数的作用域,第三是全局作用域。
而闭包所包含的作用域是在闭包被定义的时候决定的,与何时调用闭包没有关系。

被折叠的 条评论
为什么被折叠?