2020-09-27 06:37:54
在 JavaScript 中,可以通过循环或递归实现 prompt() 方法的重复弹出,以下是具体实现方式及注意事项:
方法 1:使用循环通过 while 循环持续弹出对话框,直到用户取消输入或提交空值。
while (true) { const input = prompt("请输入内容:"); // 用户点击取消或输入空字符串时退出循环 if (input === null || input === "") { break; } console.log(`用户输入:${input}`);}关键点:通过函数递归调用自身,实现对话框的重复弹出。
function promptRecursive() { const input = prompt("请输入内容:"); // 终止条件:用户取消或输入为空 if (input === null || input === "") { return; } console.log(`用户输入:${input}`); promptRecursive(); // 递归调用}promptRecursive(); // 启动递归关键点:递归深度过大可能导致堆栈溢出(尽管浏览器对 prompt() 的交互限制通常能避免此问题)。
递归逻辑更简洁,但调试可能不如循环直观。
若需在特定条件下终止(如输入特定值),可修改终止条件:
// 循环示例:输入 "exit" 时退出while (true) { const input = prompt("请输入内容(输入 exit 退出):"); if (input === null || input === "" || input === "exit") { break; } console.log(`用户输入:${input}`);}// 递归示例:同上function promptRecursive() { const input = prompt("请输入内容(输入 exit 退出):"); if (input === null || input === "" || input === "exit") { return; } console.log(`用户输入:${input}`); promptRecursive();}总结