首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript文件有错误:提示没有定义?

javascript文件有错误:提示没有定义?
EN

Stack Overflow用户
提问于 2021-05-31 22:14:35
回答 1查看 46关注 0票数 0

我是javascript的新手,我正在根据教科书写一个非常简单的javascript,下面是代码。

代码语言:javascript
复制
var location1 = 3;
var location2 = 4;
var location3 = 5;
var guess;
var hits = 0;
var guesses = 0;
var isSunk = false;

while (isSunk == false) {
  guess = prompt("Ready, aim, fire! (enter a number from 0-6):") // prompt instead of promt
  if (guess < 0 || guess > 6) {
    alert("Please enter a valid cell number!");
  } else {
    guesses = guesses + 1;
    if (guess == location1 || guess == location2 || guess == location3) {
      alert("HIT!");
      hits = hits + 1;
      if (hits == 3) {
        isSunk = true;
        alert("You sank my battleship!");
      }
    } else {
      alert("MISS");
    }
  }
}
var stats = "You took " + guesses + " guesses to sink the battleship, " +
  "which means your shooting accuracy was " + (3 / guesses);
alert(stats);

然后,我安装了nodejs,并尝试通过多种方式运行此文件。但它对我说了很多错误。第一个错误是,当我直接运行它时

代码语言:javascript
复制
Object expected
800A138F
microsoft jscript runtime error

第二个错误是,当我使用命令node battleship.js运行它时,错误如下

正如你在图片中看到的,它告诉我没有定义promt。我的问题是,我运行另一个代码没有问题。这意味着nodejs没有问题。而且,我在网上运行我的代码没有问题,这意味着我的代码没有问题。

那么,我该如何解决这个问题呢?你能帮我弄一下这个吗?非常感谢您的宝贵时间。

EN

回答 1

Stack Overflow用户

发布于 2021-05-31 22:30:04

Node.js不同于在浏览器中运行javascript,它没有window对象,而window对象有像prompt()alert()这样的东西。在浏览器中,它们以弹出窗口的形式显示。

您可以使用console.log()而不是alert(),对于prompt(),您可以查看下面的https://nodejs.dev/learn/accept-input-from-the-command-line-in-nodejs

代码语言:javascript
复制
const readline = require('readline').createInterface({
    input: process.stdin,
    output: process.stdout
})

readline.question(`What's your name?`, name => {
    console.log(`Hi ${name}!`)
    readline.close()
})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67775432

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档