You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript待办事项列表练习控制台输出异常问题求助

问题修复:待办列表控制台显示异常

我反复检查了很多次,但作为前端新手还是不断遗漏细节。控制台里我的待办列表没法像示例那样显示成带编号的条目,实际输出是直接打印${num} ${todos[num]}这样的字符串,而且循环还可能出问题。我觉得代码逻辑是对的,是不是有控制台相关的知识我没搞懂?

原代码:

let input = prompt("What would you like to do?");
const todos= ['list app finish', 'js practice'];
while (input !== 'quit' && input !=="go away aysel"){ 
    if(input === 'list') {
        console.log('***********')
        for (let num = 0; num< todos.length; i++){
            console.log("${num} ${todos[num]}");
        }
        console.log('*************')
    }
    input= prompt('What would you like to do')
}
console.log('Good bye')

错误原因及修复方案

你的问题和控制台无关,是代码里的两个语法错误导致的:

  • 循环变量迭代错误:for循环初始化的变量是num,但迭代时写的是i++,i未定义会引发错误,需改为num++。
  • 模板字符串使用错误:ES6模板字符串必须用**反引号(`)**包裹,双引号中的${}不会被解析,会直接输出原字符串,需把双引号改成反引号。

修复后的代码:

let input = prompt("What would you like to do?");
const todos= ['list app finish', 'js practice'];
while (input !== 'quit' && input !=="go away aysel"){ 
    if(input === 'list') {
        console.log('***********')
        for (let num = 0; num< todos.length; num++){
            console.log(`${num} ${todos[num]}`);
        }
        console.log('*************')
    }
    input= prompt('What would you like to do')
}
console.log('Good bye')

内容的提问来源于stack exchange,提问作者hartimX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 09:45:31