搜尋

首頁  >  問答  >  主體

為什麼在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粉244155277476 天前511

全部回覆(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
  • 取消回覆