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粉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; }
這將是重新分配,並且是非法的。
在您編寫的內容中,todo
和html
在循環區塊末尾超出範圍,然後是一個新的todo
和html
是為下一次迭代創建的。
如 Jaromanda X 所說,const
變數是區塊作用域的。還有let
。