求助:实现按用户输入次数重复执行document.write的功能
问题解决:根据用户输入次数重复输出内容
先梳理你和朋友代码里的核心错误:
- 你的代码:字符串引号不匹配、变量声明语法错误、
prompt拼写错误、循环条件颠倒且未递减变量、无对应DOM元素却调用getElementById - 朋友的代码:模板字符串与引号不匹配、循环内的递减语句缩进错误(跳出了循环体)、
reload()后的return无效
以下是修正后的可运行代码,完全符合需求:
// 页面加载时弹出输入框 let repeatCount = prompt("请指定重复次数:", 1); // 校验输入有效性 if (!repeatCount || isNaN(Number(repeatCount)) || Number(repeatCount) <= 0) { alert("输入无效,请输入正整数"); location.reload(); } else { // 转换为整数 repeatCount = parseInt(repeatCount, 10); // 循环输出内容 for (let i = 0; i < repeatCount; i++) { document.write("Welcome to my page!<br>"); } }
代码说明:
- 用
prompt获取用户输入,设置默认值1提升交互体验 - 校验逻辑覆盖空输入、非数字、小于等于0的情况,无效时弹出提示并刷新页面
- 用
parseInt确保输入转为整数类型,避免小数干扰 - 选择
for循环替代while,逻辑更直观,避免因忘记递减变量导致的无限循环 - 统一使用双引号包裹字符串,彻底避免引号匹配错误
内容的提问来源于stack exchange,提问作者Smirnov
相关产品推荐
相关产品推荐

