JavaScript 闭包适用的场合 优缺点
2016-11-16 23:38
211 查看
一个嵌套函数被导出到它所定义的作用域外,这时候它就是一个闭包了
优点:
1.保护函数内的变量安全,加强了封装性
2.在内存中维持一个变量(用的太多就变成了缺点,占内存)
闭包之所以会占用资源是当函数a执行结束后, 变量i不会因为函数a的结束而销毁, 因为b的执行需要依赖a中的变量。
不适合场景:返回闭包的函数是个非常大的函数
闭包的典型框架应该就是jquery了。
闭包是javascript语言的一大特点,主要应用闭包场合主要是为了:设计私有的方法和变量。
这在做框架的时候体现更明显,有些方法和属性只是运算逻辑过程中的使用的,不想让外部修改这些属性,因此就可以设计一个闭包来只提供方法获取。
闭包的缺点就是闭包有一个非常严重的问题,那就是内存浪费问题,这个内存浪费不仅仅因为它常驻内存,更重要的是,使用不当很容易造成内存泄露。
优点:
1.保护函数内的变量安全,加强了封装性
2.在内存中维持一个变量(用的太多就变成了缺点,占内存)
闭包之所以会占用资源是当函数a执行结束后, 变量i不会因为函数a的结束而销毁, 因为b的执行需要依赖a中的变量。
不适合场景:返回闭包的函数是个非常大的函数
闭包的典型框架应该就是jquery了。
闭包是javascript语言的一大特点,主要应用闭包场合主要是为了:设计私有的方法和变量。
这在做框架的时候体现更明显,有些方法和属性只是运算逻辑过程中的使用的,不想让外部修改这些属性,因此就可以设计一个闭包来只提供方法获取。
闭包的缺点就是闭包有一个非常严重的问题,那就是内存浪费问题,这个内存浪费不仅仅因为它常驻内存,更重要的是,使用不当很容易造成内存泄露。
相关文章推荐
- 理解javascript 闭包概念优缺点及应用
- linux进程间通讯的几种方式的特点和优缺点,和适用场合。
- linux进程间通讯的几种方式的特点和优缺点,和适用场合。
- linux进程间通讯的几种方式的特点和优缺点,和适用场合。
- linux进程间通讯的几种方式的特点和优缺点,和适用场合。
- js闭包所用的场合以及优缺点分析
- JavaScript的适用场合有哪些
- Linux进程间通讯的几种方式的特点和优缺点,和适用场合
- linux进程间通讯的几种方式的特点和优缺点,和适用场合
- linux进程间通讯的几种方式的特点和优缺点,和适用场合。
- linux进程间通讯的几种方式的特点和优缺点,和适用场合
- linux进程间通讯的几种方式的特点和优缺点,和适用场合。
- MyBatis框架的优缺点及其适用场合
- (转载)JavaScript中匿名函数,函数直接量和闭包
- 学习Javascript闭包(Closure)
- 接触javascript很久了,每次理解闭包都似是而非,最近在找Web前端的工作,所以需要把基础夯实一下。 本文是参照了joy_lee的博客 闭包 在她这篇博客的基础上以批注的形式力争把我的理解阐述出
- 深入理解javascript原型和闭包(5)——instanceof
- JavaScript面向对象程序设计(7): 闭包
- 【javascript基础】由demo来进阶学习闭包等概念
- JavaScript中的匿名函数及函数的闭包