0

我想多次运行一个脚本,我不知道它是否是第一次运行 - 所以我不得不问,如果是,我会声明它:

if (typeof variable == undefined) { let variable = new Set(); }

不幸的是 1.) 重新声明let variable;总是会抛出一个错误 2.) 这个变量只存在于“if”范围内 3.) 命令“let”需要一个完整的块如果,三元或“无括号 if”抛出一个错误

我可以更改变量的范围吗?就像旧人一样var- 我对此没有任何问题,我只想使用 Set (也是一个很好的讲座来了解它是否可能)也许是一些“如果未声明则声明”命令?

4

2 回答 2

1

我不确定你到底想做什么。代码是否在浏览器中运行?

如果是这样,您可以尝试省略 var/let/const 关键字:

if (typeof variable == undefined)  { variable = new Set(); }

如果它不存在,这将在窗口对象中创建一个变量

[编辑]:当然,您可以通过明确说明全局变量来自的对象来使其“更好”。

对于浏览器,此代码将变为:

if (typeof window.variable == undefined)  { window.variable = new Set(); }

如果您在团队中工作,此解决方案会更好,但如果您刚刚开始或尝试学习,两者都可以。

于 2020-08-28T18:42:14.193 回答
1

您可以简单地先声明变量,然后对其进行操作。

let variable; // declare variable 

if (typeof variable === 'undefined') { variable = new Set(); }

它不应该抛出您提到的任何错误。

于 2020-08-28T19:06:03.603 回答