找回密码
 立即注册
变量value循环const | 软件设计/软件工程 2022-05-05 230 0star收藏 版权: . 保留作者信息 . 禁止商业使用 . 禁止修改作品
问题
for..of 循环中变量的默认类型是什么。
  1. for (value of [1,2,3]) // what is the default type of value
  2.   console.log(value)
复制代码


我想知道 value 是否属于 var/let/const 类型。

据我所知,任何未声明的变量都是 var 类型。它适用于循环变量吗?

回答
没有默认值,尽管我想您可以将松散模式下隐式全局变量的恐怖称为默认值。 :-) 不要依赖隐式全局变量的可怕之处,它实际上是语言中的一个错误,由严格模式修复。 :-)

如果您以现有方式编写代码,则必须在循环之前声明变量。如果在松散模式下没有隐式创建全局变量;在严格模式下(我总是推荐)这是一个错误。如果变量是在循环之前声明的,那么 let 或 var (但不是 const )都可以工作。

如果您在循环中声明变量,则可以使用 let 或 const ,具体取决于您是否要更新循环中的变量(以及您喜欢的样式):
  1. const values = ["one", "two", "three"];

  2. for (const value of values) {
  3.     console.log(value);
  4. }

  5. for (let value of values) {
  6.     console.log(value);
  7. }

  8. for (let value of values) {
  9.     // (Note the following only changes the value of the variable, not the entry in the array)
  10.     value = value.toUpperCase(); // You couldn't do thsi with `const`
  11.     console.log(value);
  12. }
复制代码






上一篇:thingsboard 使用 MQTT 连接到 esp32
下一篇:插入 MySQL 表或更新(如果存在)