gpt4 book ai didi

javascript - 闭包变量对内存的影响

转载 作者:行者123 更新时间:2023-12-03 10:21:33 25 4
gpt4 key购买 nike

我正在开发一个简单的 api,用于创建和管理一些 html 的创建(实际上并不重要......)。

无论如何,这个 api 包含在 UMD 片段之一中,它基本上接收一个匿名函数作为其参数之一:

看一下实际问题的代码:

在以下情况下,“队列”在内存方面会发生什么:

  1. 初始状态变成“使用后”状态?
  2. 如果“someUniqueKey1”对象被传递给 jQuery 的某个匿名函数引用?

代码:

+function( root, factory ) {
if ( typeof define === 'function' && define.amd ) {
// AMD. Register as an anonymous module.
define( [ 'jquery' ], factory );
} else if ( typeof exports === 'object' ) {
// Node. Does not work with strict CommonJS, but
// only CommonJS-like environments that support module.exports,
// like Node.
module.exports = factory( require( 'jquery' ) );
} else {
// Browser globals (root is window)
root.Alert = factory( jQuery );
}
}( this, function( $ ) {
var queues = {}; // <-- initial state

// after usage state:
queues = {
"someUniqueKey1": { "someProperty": [] },
"someUniqueKey2": { "someProperty": [] },
}

// constructor some here...

// prototyping goes here..

// ....

return alertAPI
}
);

我尝试使用 Chrome 开发工具进行分析,但我只能看到创建的实例以及删除它们后会发生什么。

最佳答案

如果没有与任何变量/对象关联的引用,则浏览器会将其标记为垃圾回收。您可以在这里了解更多信息What is JavaScript garbage collection?

关于javascript - 闭包变量对内存的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29603930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com