javascript 闭包 以及 匿名函数 的理解

一,闭包.

    在实际开发的过程中,闭包的概念和作用都不怎么在乎,也不影响正常使用,最近去面试让解释一下什么是闭包,想了想就说是封装,

对变量和作用域的封装,结果也是不确定,迷茫.随后在网上找资料,我的理解是这样的.

  1.在一个function内的局部变量,能够被外界所引用,且不会随着js的内存回收被释放掉,这就形成了闭包. (如:图1)

  2.觉得在开发过程中,需要自己专门去实现的闭包.感觉很少.没必要那么纠结,可面试时候老是问这个-,-

二.匿名函数

   (function(x,y){return x+y;}(x,y)) 如此便会形成一个直接运行的函数.

    1.匿名函数的外部的() 会由(new Function) 生成函数,后通过(x,y)进行调用;

    2.这么用有什么好处呢,例如:需要立即执行.代码执行到便会去执行.可以传入(如:widow,)等对象在里面封装使用;

以上是自己的理解,希望大家可以评论

posted on 2012-05-21 14:45  面包机  阅读(232)  评论(0编辑  收藏  举报

导航