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

问题描述 投票:0回答:8

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

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

	var nam = prompt("Hi, Welcome to the Drivethrough!! What is your name?")
	var mprice = 4
	var bprice = 8
	var cprice = 6
	var fprice = 2
	var oprice = 3
	var fmprice = 5
	var gprice = 0
	var price = 0
	var fcmprice = 10
	var cmprice = 4
	var kkkprice = 9
	var dddprice = 10
	var mmmprice = 12
	var icprice = 6
	var resprice = 999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999
	var superprice = 1

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

非常感谢您看我的问题。 :)

javascript undefined prompt referenceerror
8个回答
10
投票

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


8
投票

打开终端并运行:-

第 1 步:

npm init

第二步:
npm install prompt-sync

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

例如:

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


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

let a = prompt("enter a number: ")
console.log(a)

7
投票

您似乎在 Node.js 环境中(在提供此环境的站点中)运行此代码。

window
对象未在此环境中定义。您可以尝试在浏览器控制台或 HTML 文件中测试脚本。


4
投票

我通过这种方式摆脱了这个问题:

  1. 转到终端,然后选择新终端并运行 cmd

    npm install prompt-sync
    再次运行您的代码,如果显示相同的错误,则按照第二步操作

  2. 在代码的标题部分输入:

    const prompt = require ("prompt-sync")({sigint: true})

示例:

const prompt = require("prompt-sync")({sigint:true});
let work = prompt("It will definitely works for you :- ")

2
投票

发生这种情况是因为您在 Node.js 环境(VS Code)中运行此代码。在此环境中未定义窗口对象。您可以尝试在任何浏览器(chrome、firefox 等)控制台中测试您的脚本,您可以在其中轻松访问此代码。


0
投票

我通过这种方式摆脱了这个问题:

打开cmd然后运行npm install提示同步 运行后会显示“2s内添加了3个包”

现在在代码的标题部分输入:

const prompt = require ("prompt-sync")({sigint: true})

示例:

const prompt = require("prompt-sync")({sigint:true});
let a=prompt("Hey whats ur age?");

0
投票

要解决ReferenceError: Prompt is not Defined in VS Code 或提示不起作用的问题,您可以按照以下步骤操作:

  1. 打开终端或命令提示符。

  2. 要清除屏幕,请输入命令

    clear
    并按 Enter。

  3. 通过运行命令

    npm init -y
    来初始化一个新的npm项目 您的终端或命令提示符。这将创建一个
    package.json
    具有默认值的文件。

  4. 通过在终端或命令提示符中运行命令

    prompt-sync
    来安装
    npm install prompt-sync
    软件包。这个包允许 同步用户输入。

  5. 在代码文件的顶部,添加以下行以导入

    prompt-sync
    模块并创建提示对象:

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

  6. 保存您的代码文件。

  7. 运行您的代码并检查提示功能是否正常工作 正确。

我通过参考 YouTube 视频解决了该问题:如何修复 VS Code 中未定义引用错误提示 - 提示在 VSCode 中不起作用。 视频来自GameTrick


0
投票

首先打开VS Code IDE

运行此命令 $npm init -y

然后运行 $npm install prompt-sync 并在顶部的代码中添加以下行。

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

快点!!!就可以在程序中使用node了。

© www.soinside.com 2019 - 2024. All rights reserved.