待办清单:「能跑但毛病一堆」版
功能都能用:回车添加、勾选、删除。但它有 6 个毛病——试试输入 <b>我有格式</b> 再回车,看看会发生什么。
共 0 条(刷新一下,全没了)
藏在代码里的 6 个毛病(先自己找,再看答案):
- todos、nextId 全是全局变量,谁都能改、迟早撞名
- innerHTML 拼字符串:用户输入被当 HTML 执行(试试 <img src=x onerror=...>)
- onclick 属性 + 事件函数挂在 window 上
- 不 trim、不校验:空待办、超长文本全都放行
- 没有存储:刷新即失
- 数据和界面搅在一起:想加个「筛选」得同时改好几处