javascript中闭包到底是什么?
本文介绍了javascript中闭包到底是什么?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
在学习JS的时候一直听到别人说闭包闭包,自己也尝试着去看书,找资料,但是很多讲解的比较抽象,说实话,我看不懂。
所以想问下闭包到底是什么,是一个名词还是一个动词,还是一个过程。希望各位大大用一种比较浅显易懂的说法讲解下。
解决方案
不要对闭包心存畏惧,闭包只是函数的一个子集。只要你懂函数,你就能懂闭包。
函数的特殊性就在于,它不只是一个简单的数据(集合),它实现的是处理数据的功能。
普通的定义在全局中的函数总是存在局限:无法获取局部作用域中的变量。这时,闭包就体现出其天然的优势:定义在局部作用域中,但不需要在局部作用域中立即调用得到结果,而是在全局作用域中(严格的说,是在闭包作为值返回到全局作用域之后)随时调用。
个人认为,闭包存在的最大意义是使函数更为灵活。而自运行函数,创建私有变量等只是它的衍生作用罢了。
闭包闭包!也许能帮助你理解 :)
这篇关于javascript中闭包到底是什么?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文