JavaScript 显示引用错误“Prompt未定义”
在本文中,我们将介绍引用错误 “Prompt未定义” 。了解您正在使用的工具非常重要。我知道,一开始可能会令人感到非常压倒,但在这篇文章中,我们不仅将解决此引用错误,还将提供更多解决方法。
window.prompt() 指令会让浏览器显示一个对话框,其中包含一个可选的消息,提示用户输入一些文本,并等待用户提交文本或取消对话框。
然而,在Node环境中,prompt和window未定义。当我们尝试在这种环境中运行这种类型的程序时,就会产生此引用类型错误。
请记住一件事:prompt在客户端定义。这就是为什么它在服务器端未定义的原因。
错误:
当我们在服务器端运行以下代码时,会出现以下错误:
Javascript
let name = prompt("What's your name");
console.log("hello" +name+ "!");
输出:
解决方案1: 最有效的解决方案是需要安装“prompt-sync”。确保您也安装了更新版本的npm和node,然后在终端中输入以下代码:
npm install prompt-sync
示例: 此示例将演示在服务器端使用“prompt-sync”包使用prompt的方法:
Javascript
const prompt=require("prompt-sync")({sigint:true});
let name = prompt("What's your name");
console.log("hello"+name+"!");
输出结果:
注意: 如果在nodejs环境中运行此类代码但在这类型的环境中未定义prompt。
解决方案2: 让我们以另一种方式简化这个问题。所有电脑都有浏览器或搜索引擎。在浏览器终端运行此类代码。让我们看看它在浏览器中是否更加顺畅 而无需安装任何npm库。
示例1: 在这里,我们通过提示框要求用户输入用户名。然后,它将简单地打印带有在提示对话框中给出的用户名。
路径: 打开Chrome >> 更多工具 >> 开发者工具(ctrl+shift+i)。
示例 2: 在这里,我们需要用户喜欢的编程语言输入。如果您喜欢 JavaScript,它将简单地显示一个警告消息“很棒”。否则,将显示用户喜欢的编程语言的警告。
JavaScript
let lang = prompt('What is your favorite programming language?');
let feedback = lang.toLowerCase() === 'javascript' ? `It's great!` :
`It's ${lang}`;
alert(feedback);
输出:
极客教程