如何在JavaScript中获取控制台用户输入并存入变量
在浏览器控制台获取用户输入的实现方法
你需要实现的是:让用户在浏览器控制台输入内容(如Hello),并将输入值存入user_input变量,但发现JavaScript没有内置的控制台输入函数。以下是两种可行的实现方式:
方法1:弹窗式输入(简单直接)
使用prompt()函数,执行后会弹出输入对话框,用户输入内容点击确定后,值将存入变量:
const user_input = prompt('请输入内容:');
执行这段代码后,控制台会等待用户完成弹窗输入,输入值会自动存入user_input。
方法2:控制台内直接输入(无需弹窗)
现代浏览器控制台支持async/await,可以通过创建临时DOM元素监听键盘事件,实现在控制台直接输入:
async function getConsoleInput() { return new Promise(resolve => { const inputEl = document.createElement('input'); inputEl.style.position = 'absolute'; inputEl.style.opacity = 0; document.body.appendChild(inputEl); inputEl.focus(); const handler = (e) => { if (e.key === 'Enter') { document.removeEventListener('keydown', handler); document.body.removeChild(inputEl); resolve(inputEl.value); } }; document.addEventListener('keydown', handler); }); } // 调用并获取输入 const user_input = await getConsoleInput();
执行后直接在控制台输入内容,按下回车键,输入值就会存入user_input变量。
注:你查阅的资料未提及相关方法,是因为浏览器控制台的输入交互并非通过专门的内置input函数实现,而是需要借助DOM操作或弹窗函数来完成。
内容的提问来源于stack exchange,提问作者tisme
相关产品推荐
相关产品推荐

