猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
void function(){ function a(){ ... } a(); }();?
void function(){
function a(){
...
}
a();
}();
如何理解上面的函数?属于闭包吗?这样写法有什么好处?
米琪卡哇伊
浏览 481
回答 1
1回答
呼如林
JavaScript中所有的function都是一个闭包 ,不过一般来说,嵌套的function所产生的闭包更为强大,也是大部分时候我们所谓的“闭包” 而你的function(){}();不过是定义了个函数并且马上执行而已,外部是无法调用你的内部函数 a()的 如果你想引用你的a() 也就是闭包 我建议这样function f(){var i=0;function a(){alert(++i);}return a;}这样你可以在外界这么引用内部函数a()var c=f();c();你可以看到很好玩的东西哦 有些东西自己理解反而更好理解JavaScript的闭包是迈向高级JS程序员的必经之路,理解了其解释和运行机制才能写出更为安全和优雅的代码。呵呵 加油
0
0
0
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
JQuery
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续