ReferenceError:提示未定义。我该如何在 JavaScript 中解决这个问题?

anz*_*621 6 javascript prompt undefined referenceerror

我正在使用 JavaScript 创建这家餐厅,并致力于创建不同的餐点菜单。当我遇到这个 ReferenceError 说提示未定义时,我正在添加前几行代码。如果您需要查看完整的上下文,您可以在此处引用原始代码https://repl.it/@qwerty_____/Welcome-to-the-Drivethrough和我正在此处处理的代码https://repl.it/@ qwerty_________/DullFreeMisrac。官方的错误就在这里。

ReferenceError: prompt is not defined
at evalmachine.<anonymous>:2:12
at Script.runInContext (vm.js:74:29)
at Object.runInContext (vm.js:182:6)
at evaluate (/run_dir/repl.js:133:14)
at ReadStream.<anonymous> (/run_dir/repl.js:116:5)
at ReadStream.emit (events.js:180:13)
at addChunk (_stream_readable.js:274:12)
at readableAddChunk (_stream_readable.js:261:11)
at ReadStream.Readable.push (_stream_readable.js:218:10)
at fs.read (fs.js:2124:12)
Run Code Online (Sandbox Code Playgroud)

这是在 JavaScript 上。我已经尝试将其更改为 window.prompt 而不仅仅是提示,它说窗口未定义。

ReferenceError: prompt is not defined
at evalmachine.<anonymous>:2:12
at Script.runInContext (vm.js:74:29)
at Object.runInContext (vm.js:182:6)
at evaluate (/run_dir/repl.js:133:14)
at ReadStream.<anonymous> (/run_dir/repl.js:116:5)
at ReadStream.emit (events.js:180:13)
at addChunk (_stream_readable.js:274:12)
at readableAddChunk (_stream_readable.js:261:11)
at ReadStream.Readable.push (_stream_readable.js:218:10)
at fs.read (fs.js:2124:12)
Run Code Online (Sandbox Code Playgroud)

我本以为它会弹出一个弹出框询问我的名字,然后我选择早餐菜单来测试巧克力牛奶,但它却显示了错误代码,告诉我提示未定义。

非常感谢您百忙之中看我的问题。:)

Sco*_*cus 11

prompt()window是浏览器中Global 对象的一种方法。它不是 JavaScript 语言的一部分。如果您不在支持浏览器对象模型的浏览器或环境中运行代码,则window不会存在,如果window不存在,则两者都不会prompt()存在。在浏览器中运行您的代码。

  • 在终端中有效的替代方案是什么? (4认同)

小智 10

打开终端并运行:-

步骤 1:npm init
步骤 2:npm install prompt-sync
步骤 3: 打开要在其中使用提示和import提示同步的 js 文件 (name.js),如下所示。(1号线)

例如:const prompt = require("prompt-sync")();


const prompt = require("prompt-sync")();

let a = prompt("enter a number: ")
console.log(a)
Run Code Online (Sandbox Code Playgroud)


vse*_*byt 7

您似乎在 Node.js 环境中(在提供此环境的站点中)运行此代码。window在此环境中未定义对象。您可以尝试在浏览器控制台或 HTML 文件中测试脚本。

  • 在终端中有效的替代方案是什么? (2认同)