gpt4 book ai didi

javascript - 定义变量时内存泄漏

转载 作者:行者123 更新时间:2023-11-30 07:59:26 24 4
gpt4 key购买 nike

我想知道为什么 jsLint 提示我在定义这样的变量时可能会泄漏变量:

var foo = bar = {};

它说我可能正在泄漏 bar

我的直觉是因为 bar 是全局变量。那么,如何让 foobar 在一行中指向同一个对象呢? JavaScript 不允许我写:

var foo = var bar = {};

还是其他问题?

最佳答案

它提示“泄漏变量”的原因是因为您只声明了局部变量 foobar 没有被声明,它只是被赋值,所以这创建了一个全局变量。你的陈述等同于:

var foo = (bar = {});

这是以下内容的缩写:

bar = {};
var foo = bar;

这样写,您可以看到没有bar 变量的声明。如果要在单个 var 语句中声明多个变量,则必须用逗号分隔它们:

var bar = {}, foo = bar;

或者您可以将它们写成单独的语句:

var bar = {};
var foo = bar;

您还可以将声明和赋值分开:

var foo, bar;
foo = bar = {};

关于javascript - 定义变量时内存泄漏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31959515/

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