前端之家收集整理的这篇文章主要介绍了
[javascript] 看知乎学习js闭包,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
知乎:到底什么是闭包?
寸志:
JavaScript 闭包的本质源自两点,词法作用域和函数当作值传递。
词法作用域,就是,按照代码书写时的样子,内部函数可以访问函数外面的变量。引擎通过数据结构和算法表示一个函数,使得在代码解释执行时按照词法作用域的规则,可以访问外围的变量,这些变量就登记在相应的数据结构中。
<div class="cnblogs_code">
x=23333<span style="color: #0000ff;">function<span style="color: #000000;"> test(){
alert(x);
}
test(); <span style="color: #008000;">//<span style="color: #008000;">弹出23333
</span><span style="color: #0000ff;">var</span> x=23333<span style="color: #000000;">;
</span><span style="color: #0000ff;">function</span><span style="color: #000000;"> test2(){
alert(x);
}
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> test2;
}
test()();
<span style="color: #008000;">//<span style="color: #008000;">弹出23333
我一直这么觉得,面试面的问题,并不是单纯的去回答一个答案,比如闭包这个问题来说,什么是闭包,大家都可以巴拉巴拉说出来,但是从每个人回答的方式,是可以看出一些思考方式和思维模式并且可以按照这个深入下去。
最看不惯遇到大神点赞的人,玉伯说什么了就那么多赞,追星么你们是...