问题标签 [redeclaration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
291 浏览

javascript - 同名的变量和函数在块内返回错误

如果我们声明一个变量和一个同名的函数,它就是接受重新声明。但是当我们在一个块中做同样的事情时,它会显示re-declaration error
代码:

但在这种情况下,我得到了错误。

预期结果应该没有错误。

0 投票
2 回答
251 浏览

javascript - 为什么函数声明中的常量声明不会引发错误?

我正在向 MDN 学习,所以这里有这样的代码,这让我大吃一惊,为什么 line 中的 choice变量在const choice = select.value;这里被用作常量。我相信这.value可能是改变,并且常量在赋值后不能改变......或者重新声明变量会导致错误......每次,我改变选择值,它调用setWeather函数,对吗?那么,那里发生了什么,有人可以解释一下吗?

还有来自 MDN 网站的链接https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Building_blocks/conditionals

0 投票
1 回答
132 浏览

python - 如何避免在 python 3 中重新声明常量

我们有一个文件,其中有很多常量定义。当发生名称冲突时,python 会为其分配一个新值,而不会警告该名称的常量已经存在。这是潜在的错误来源。我们使用的静态代码分析器没有找到它(Sonarqube 和 pylint)。如何确保没有名称冲突?

PS:PyCharm 提出了“上面重新声明定义但没有使用”,但我不使用 PyCharm。

0 投票
1 回答
172 浏览

arrays - SWIFT Xcode11.5 - 数组附加在 ViewController 中不起作用

您好我正在尝试在类 ViewController 中声明一个简单的数组变量。但是当我尝试对其附加值时,Xcode 只是不断给我“一行上的连续声明必须用';'分隔” ... 'mylist()' 的重新声明无效"

我将它复制到 Playground 中,它工作得很好。但不知何故,在 ViewController 内部它就是不喜欢它。我只有 1 行在整个项目中声明 mylist 。有没有人经历过这种情况?我看不出它有什么问题。我提前在 XCode 11.5(11E608c) Thx 中。

0 投票
2 回答
182 浏览

javascript - 在 JavaScript for 循环中重新分配/声明一个 const 变量并使用不同的值多次保存它?

我知道我们不能在 JavaScript 中重新分配或重新声明 const 变量,因为它是常量。但是那个代码呢?!

正如我们在前面的代码中看到的,当循环迭代时, newElement const 变量 被重新声明。我知道如果我们重新分配一个const类似的属性是可以的,textContent但是我们怎么能重新声明它呢?!

我试图将声明放在const全局范围中,如下所示:

我得到了不同的输出,而改变的只是textContent同一段落的内容,如果您在控制台中运行代码,您可以看到。

我希望任何人都可以帮助并告诉我为什么会发生这种情况(如何const在循环中重新声明变量以及为什么它不能在全局范围内工作?)

以及如何以不同的值多次newElement保存相同的变量( )?myCustomDiv

0 投票
2 回答
66 浏览

typescript - 改变“let”声明的范围

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

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

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

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

0 投票
1 回答
33 浏览

javascript - 无法使我的导入模块成为 const

我正在更新 Javascript 中的 (Thunderbird) 扩展。在我的一个 JS 文件中,我有:

现在,我知道这var是不受欢迎的,我们喜欢const,而且这种导入确实是不变的。但是,如果我使用:

我收到有关重新定义 ObjectUtils 的错误,可能是当我的 XUL/XHTML 中包含多个 JS 文件时,它们中具有相同的行。

索姆

  • 我应该坚持var吗?
  • 我应该写: ?
  • 我应该做点别的吗?

根据流行的要求,这是堆栈: