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
。