gpt4 book ai didi

javascript - 如果瞄准镜没用了,会被清理吗?

转载 作者:行者123 更新时间:2023-12-03 06:18:23 24 4
gpt4 key购买 nike

说明用例的伪示例代码(可能会也可能不会编译)

+function($){
var enableapp = 'enable-application';
var x = function(something) {
this.thing = something;
this.dosomething();
}
x.prototype.dosomething = function() {
console.log(this.thing);
}
$('[data-fancy]').each(function(index,elem) {
var fancy = $(elem);
if(fancy.is('[data-'+enableapp+']') && fancy.data(enableapp) == 'yes') {
fancy.data('app', new x(fancy));
}
else {
fancy.removeData('app');
}

}(jQuery)

在此示例中,我启动了一个作用域函数,将我的“应用程序”X 注册到标有 data-fancy 的元素,该元素已将启用应用程序设置为“yes”

因为我需要多次使用这个访问 key ,并且可能会频繁更改,所以我决定将它存储在最外层作用域的变量中,以便我可以在其中进行多次检查和平衡。

我的问题是:

如果我不在 X 应用程序中使用 enableapp 变量,那么当初始类(class)运行时,最外层的作用域会被垃圾收集吗?或者它会保留在内存中,直到最后一个 Application 对象被清除并且不再被初始化。

最佳答案

因为 enableapp 没有在 X 应用程序构造函数或原型(prototype)方法中的任何地方引用,并且仅在 forEach 函数的定义时使用 - 它应该在某些时候被垃圾收集点。

关于javascript - 如果瞄准镜没用了,会被清理吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38978265/

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