搜索

首页  >  问答  >  正文

为什么在for循环中使用const不会引发错误

const todolist= [];
let todolisthtml = '';
     for(let i =0;i<todolist.length;i++){
          const todo = todolist[i];
          const html = <p>`${todo}`</p>;
          todolisthtml += html;
      }

在这里,每当我们迭代循环时,我们都会重新分配变量 todo,这应该会导致错误,因为我们使用“const”来声明它,但它却运行顺利

P粉244155277P粉244155277446 天前497

全部回复(1)我来回复

  • P粉277305212

    P粉2773052122023-09-09 13:35:23

    这不是任务。就是声明和初始化。

    如果你写了

    const todolist= [];
    let todolisthtml = '';
    const todo;
    for(let i =0;i<todolist.length;i++){
        todo = todolist[i];
        const html = <p>`${todo}`</p>;
        todolisthtml += html;
    }

    这将是重新分配,并且是非法的。

    在您编写的内容中,todohtml 在循环块末尾超出范围,然后是一个新的 todohtml 是为下一次迭代创建的。

    正如 Jaromanda X 所说,const 变量是块作用域的。还有let

    回复
    0
  • 取消回复