【问题标题】:JavaScript: Can variables be used as for loop statements?JavaScript:变量可以用作循环语句吗?
【发布时间】:2021-11-05 09:47:05
【问题描述】:

为什么这样的事情不会起作用,甚至会引发错误?

const arr = [...Array(5).keys()];
const first = i = 0, second = i < 5, third = i++
for (first; second; third) {
   console.log(arr[i])
}

预期结果:

【问题讨论】:

  • 因为变量存储的是值,而不是表达式。
  • 不,因为firstsecondthird不包含原始表达式;它们包含在您分配它们时这些表达式的评估结果
  • second = i &lt; 5 评估为 ,根据 i 被分配的那一刻为真或假,它确实创建了跟踪 i 的变化值。

标签: javascript loops for-loop console iteration


【解决方案1】:

当您使用变量时,它会被分配给它的值替换,用于初始化它的表达式不会被替换。

因此,您在声明变量时将 i 设置为条件的值,它不会在您每次使用变量时重新执行条件。

并且您将third 设置为i++ 的初始值,当您使用它时它不会增加i

如果您想要跟踪和更新i 的值,您可以使用函数。

const arr = [...Array(5).keys()];
let i;
const first = () => i = 0;
const second = () => i < 5;
const third = () => i++;
for (first(); second(); third()) {
   console.log(arr[i])
}

【讨论】:

    猜你喜欢
    • 2021-12-03
    • 2018-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-26
    • 2011-02-24
    • 2011-01-14
    • 2013-02-20
    相关资源
    最近更新 更多