Javascript Can';t解析提示符的值

Javascript Can';t解析提示符的值,javascript,Javascript,我正在对从提示中得到的值进行三次分解,以得到结果,但我尝试了几种组合,并且总是得到Nan 你已经被抓住了 密斯口袋妖怪 var kanto=151 var johto=100 var hoenn=135 var sinnoh=107 var totalPokemons=kanto+johto+hoenn+sinnoh var teFaltanDeKanto=kanto-cuantosKanto var teFaltandeJohto=johto-cuantosJohto var cuanto

我正在对从提示中得到的值进行三次分解,以得到结果,但我尝试了几种组合,并且总是得到Nan 你已经被抓住了


密斯口袋妖怪
var kanto=151
var johto=100
var hoenn=135
var sinnoh=107
var totalPokemons=kanto+johto+hoenn+sinnoh
var teFaltanDeKanto=kanto-cuantosKanto
var teFaltandeJohto=johto-cuantosJohto
var cuantosKanto=提示(Cuantos pokemon拥有关东地区队长?);
cuantosKanto=parseInt(cuantosKanto);
var cuantosJohto=parseInt(提示('Cuantos pokemon拥有Johto地区队长?');
var cuantosHoenn=提示(“Cuantos pokemon拥有Hoenn区域队长”);
var cuantosSinnoh=提示(Cuantos pokemon拥有Sinnoh地区队长?);
文件。书写(‘Has capturado’+cuantosKanto+‘pokemons de Kanto y te faltan’+teFaltanDeKanto+‘Has capturado’+cuantosJohto+‘de johto y te faltan’+teFaltandeJohto’);

这两条语句与您的体验不符:

var teFaltanDeKanto = kanto - cuantosKanto
var teFaltandeJohto = johto - cuantosJohto
您正试图将两个数字相加,但此时尚未为
cuantosKanto
cuantosJohto
分配值

因此,将这两条语句移动到
document.write()语句上方。

在定义变量之前不要使用变量。 这是代码中的一个主要问题,当
cuantosKanto
没有定义且也没有值时,您正在从
kanto
中减去
cuantosKanto
的值

问题是:

var teFaltanDeKanto = kanto - cuantosKanto
var teFaltandeJohto = johto - cuantosJohto
因此,我建议您以如下方式内联计算:

`Región Kanto: ${cuantosKanto} capturados. ${Pokemons.kanto-cuantosKanto} restantes.`
正如您可能已经看到的,我正在使用对象
口袋妖怪
。这将帮助您保持代码的可读性,以便更好地理解它:

const Pokemons = {
  "kanto":151,
  "johto":100,
  "hoenn":135,
  "sinnoh":107,
  "total":function(){
    return this.kanto+this.johto+this.hoenn+this.sinnoh
   }
};
通过这种方式,您可以通过
口袋妖怪.sinnoh
访问任何地区的所有口袋妖怪。甚至可以通过执行
Pokemons.total()
来获得所有的神奇宝贝

注 对于这种情况,将字符串解析为数字的建议方法是使用

这意味着不要做:

var cuantosKanto = parseInt(prompt("Number"));
您只需执行以下操作:

var cuantosKanto = +prompt("Number");
下面是所提到的所有内容的一个示例:

代码:
const口袋妖怪={
“关东”:151,
“柔道”:100,
“hoenn”:135,
“sinnoh”:107,
“总计”:函数(){
归还这个。关东+这个。柔道+这个。霍恩+这个。辛诺
}
};
var cuantosKanto=+提示符(‘Cuantos口袋妖怪有关东地区队长’);
var cuantosJohto=+提示符(“?Cuantos口袋妖怪拥有Johto地区队长?”);
var cuantosHoenn=+提示符(“?Cuantos口袋妖怪拥有Hoenn区域队长?”);
var cuantosSinnoh=+提示符(“?Cuantos口袋妖怪拥有新诺地区队长?”);
var capturados=cuantosKanto+cuantosJohto+cuantosHoenn+cuantosSinnoh;
document.write(`
有capturado${capturados}pokémon de${Pokemons.total()}。

关东地区:${cuantosKanto}capturados.
${Pokemons.kanto cuantosKanto}restantes.

Johto地区:${cuantosJohto}capturados.
${Pokemons.johto cuantosJohto}餐厅。

霍恩地区:${cuantosHoenn}capturados.
${Pokemons.hoenn cuantosHoenn}餐厅。

新诺地区:${cuantosSinnoh}capturados.
${Pokemons.sinnoh cuantosSinnoh}餐厅。


`);谢谢。刚开始,我的头就爆炸了!