javascript 闭包 以及 匿名函数 的理解
一,闭包.
在实际开发的过程中,闭包的概念和作用都不怎么在乎,也不影响正常使用,最近去面试让解释一下什么是闭包,想了想就说是封装,
对变量和作用域的封装,结果也是不确定,迷茫.随后在网上找资料,我的理解是这样的.
1.在一个function内的局部变量,能够被外界所引用,且不会随着js的内存回收被释放掉,这就形成了闭包. (如:图1)
2.觉得在开发过程中,需要自己专门去实现的闭包.感觉很少.没必要那么纠结,可面试时候老是问这个-,-
二.匿名函数
(function(x,y){return x+y;}(x,y)) 如此便会形成一个直接运行的函数.
1.匿名函数的外部的() 会由(new Function) 生成函数,后通过(x,y)进行调用;
2.这么用有什么好处呢,例如:需要立即执行.代码执行到便会去执行.可以传入(如:widow,)等对象在里面封装使用;
以上是自己的理解,希望大家可以评论
代码改变世界,记录知识.