学习并深入理解闭包

这篇具有很好参考价值的文章主要介绍了学习并深入理解闭包。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

学习闭包前,先学点别的。

程序执行时:
1.编译阶段
创建变量对象GO,包括变量和函数作用域装在一块内存中。但是没有赋值,变量都是undefined,函数:0xxx

2.创建执行上下文
里面有VO对应ao(函数里的变量,没执行,undefined,执行,被赋值)

3.代码执行
函数里的变量赋值
多加一句:
作用域和执行上下文之间最大的区别是: 执行上下文在运行时确定,随时可能改变;作用域在定义时就确定,并且不会改变。

那么闭包是怎么能访问到已经执行完的变量呢???
function a(){
var aa=123
function b(){
var bb=234
console.log(aa)
}
return b
}
var test = a()()
学习并深入理解闭包
学习并深入理解闭包a执行就是b定义,所以a执行的时候,就有b用a的的变量的作用域,a执行的时候,b看到的和a是一样的。所以垃圾回收机制并不会回收。a函数下的变量被b函数引用,所以内存回收机制没有回收a函数。外函数的栈内存和堆内存都没有被回收。除非调用外面的函数时没有赋值给一个变量。文章来源地址https://www.toymoban.com/news/detail-475318.html

到了这里,关于学习并深入理解闭包的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入理解联邦学习——纵向联邦学习

    分类目录:《深入理解联邦学习》总目录 假设进行联邦学习的数据提供方为 A A A 和 B B B ,第三方为 C C C ,则纵向联邦学习步骤如下: 在系统级做加密样本对齐,在企业感知层面不会暴露非交叉用户 对齐样本进行模型加密训练: 由第三方 C C C 向 A A A 和 B B B 发送公钥,用来

    2024年02月09日
    浏览(45)
  • Go的闭包理解

    笔记仓库:gitee.com/xiaoyinhui 一点点笔记,以便以后翻阅。

    2024年02月22日
    浏览(40)
  • 闭包的理解

    变量的私有化。一个函数内的变量,随着函数的执行完毕,对于的变量也会随着销毁,闭包可以让变量在函数执行完毕之后不必销毁,通常将这个变量通过匿名函数的形式return出去,这个变量只能被访问,不能被修改。 打印的结果: 可以看出a变量每次都递增了1,从这个结论来看也可以

    2024年02月09日
    浏览(38)
  • 从零开始理解Linux中断架构(1)-前言

    前言         前段时间在转行手撸WIFI路由器,搞wifi路由器需要理解网络驱动程序,以太网卡驱动程序,无线WIFI驱动程序,而网卡驱动的关键路径就在中断程序中,需要了解NIC设备驱动程序如何收发数据,为了彻底的知道数据包是如何二层传递上来的,又需要了解一点Lin

    2024年02月09日
    浏览(56)
  • 深入理解联邦学习——联邦学习的分类

    分类目录:《深入理解联邦学习》总目录 在实际中,孤岛数据具有不同分布特点,根据这些特点,我们可以提出相对应的联邦学习方案。下面,我们将以孤岛数据的分布特点为依据对联邦学习进行分类。 考虑有多个数据拥有方,每个数据拥有方各自所持有的数据集 D i D_i D

    2024年02月09日
    浏览(43)
  • 如何理解闭包函数的特性(golang版)

    特性:闭包可以在多次调用之间保持原始状态 我们来看一个例子: 在这个例子中,我们可以将函数 func makeAdder(base int) func(int) int 拆成两部分,分别为: func makeAdder(base int) func(int) int 匿名函数 func(int) int 充当了 makeAdder 函数的返回值。 即 makeAdder 函数接收了一个整数作为参数

    2024年02月16日
    浏览(49)
  • 机器学习 | 深入理解并掌握核心概念

            在如今数字化时代的浪潮下,机器学习已经成为人工智能领域的璀璨明星。它像一面魔镜,赋予计算机系统学习和改进的能力,让机器能够从海量数据中提取规律、预测未来,甚至做出智能决策。本 专栏 将带您踏上机器学习的奇妙之旅,探索其原理、方法和应用

    2024年01月24日
    浏览(42)
  • 【区块链 | EVM】深入理解学习EVM - 深入了解 Solidity:堆栈

    探讨 EVM 堆栈机器,以及如何在堆栈中推入和弹出数据 原文链接: https://betterprogramming.pub/solidity-tutorial-all-about-stack-c1ec6070fe60 探讨 EVM 堆栈机器,以及如何在堆栈中推入和弹出数据 图片来源:Iva Rajović on Unsplash 这是\\\"深入Solidity数据存储位置\\\"系列的第四篇,其他三篇: 深入

    2024年02月09日
    浏览(48)
  • 七篇深入理解机器学习和深度学习的读物推荐

    在这篇文章中将介绍7篇机器学习和深度学习的论文或者图书出版物,这些内容都论文极大地影响了我对该领域的理解,如果你想深入了解机器学习的内容,哪么推荐阅读。 在自然语言处理和序列建模领域,Vaswani等人的一篇论文《Attention Is All You Need》彻底改变了这一领域。这

    2024年02月07日
    浏览(41)
  • 机器学习算法:UMAP 深入理解(通俗易懂!)

    UMAP 是 McInnes 等人开发的新算法。与 t-SNE 相比,它具有许多优势,最显着的是提高了计算速度并更好地保留了数据的全局结构。降维是机器学习从业者可视化和理解大型高维数据集的常用方法。最广泛使用的可视化技术之一是 t-SNE,但它的性能受到数据集规模的影响,并且正

    2024年02月16日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包