首页 > 编程语言 >深度剖析JavaScript闭包及其原理,有哪些优缺点?

深度剖析JavaScript闭包及其原理,有哪些优缺点?

时间:2023-02-25 20:12:33浏览次数:39  
标签:闭包 局部变量 函数 作用域 JavaScript 优缺点

JavaScript 闭包

JavaScript中的闭包(closure)是定义在函数内部的一种特殊作用域。它能够让函数访问其他函数中局部变量,即使当前函数不是以该变量为参数传递的,也可以保存其词法作用域并返回引用。

优点

  • 可以让你创建沙盒/封装的形式将代码封装在其中,避免子函数对其周围的部分加以破坏
  • 闭包也可以用来动态地创建“私有”变量,只有函数自身才可以访问,从侧面来看,也就是实现了数据的保护

缺点

  • 闭包一直保持着外部函数中的局部变量的引用,这样内存消耗就会变大
  • 太多使用闭包会降低代码的可读性,使得程序变得不容易理解

标签:闭包,局部变量,函数,作用域,JavaScript,优缺点
From: https://www.cnblogs.com/lpq2022/p/17155253.html

相关文章

  • javascript
    JavaScriptjs嵌入001-方式一<!doctypehtml><html> <head> <title>HTML中嵌入JS代码的第一种方式</title> </head> <body> <!-- 1、要实现的功能: ......
  • 哈希表日志追加式方法的优缺点
    优点追加和分段合并主要是顺序写入,通常比随机写入要快得多。在旋转式磁盘上和SSD中都是适合的。并发和崩溃恢复要简单的多合并旧段可以解决数据文件的碎片化问题缺陷......
  • 可变类型和不可变类型、闭包函数、装饰器+语法糖
    可变类型和不可变类型:  闭包函数:  装饰器+语法糖:   ......
  • JavaScript最简单的发布/订阅模式
    以下的是在ES6语法上构建的,非常适用于常见的应用场景//消息通知//发布/订阅模式classYLNotificationMessages{constructor(){//事件对象:存放事件的订阅......
  • 澳门服务器这么少优缺点详解
         最近有不少网友咨询澳门服务器,澳门服务器属于比较冷门的服务器,虽然和香港服务器一样不需要备案,但国内很多IDO不提供澳门服务器租用,这是为什么呢?这里给大家介......
  • 【JavaScript】27_浅拷贝和深拷贝 + 对象的复制
    7、浅拷贝和深拷贝浅拷贝(shallowcopy)通常对对象的拷贝都是浅拷贝浅拷贝顾名思义,只对对象的浅层进行复制(只复制一层)如果对象中存储的数据是原始值,那么拷贝的深浅是不重要浅......
  • 【JavaScript】28_数组的常用方法
    9、数组的方法push()向数组的末尾添加一个或多个元素,并返回新的长度pop()删除并返回数组的最后一个元素unshift()向数组的开头添加一个或多个元素,并返回新的长度shift()删......
  • JavaScript 之下划线转换驼峰和驼峰转换下划线
    下划线转换驼峰functiontoHump(lineStr){returnlineStr.replace(/\_(\w)/g,function(all,letter){returnletter.toUpperCase();});}驼峰转换下划线......
  • JavaScript语法快速学习
    资料来源于:B站尚硅谷JavaWeb教程(全新技术栈,全程实战),本人才疏学浅,记录其笔记以供他日回顾视频链接知识点<!--Javascript:客户端的一个脚本语言js是一门弱类型......
  • 最佳的18个JAVASCRIPT前端开发框架和库
    JavaScript可以说是最流行的编程语言之一,也是Web开发人员必须学习的3种语言之一,JavaScript几乎可以做任何事情,更可以在包括物联网在内的多个平台和设备上运行。在Web......