繁体   English   中英

以div输出,以数组形式打印对象,但第一个答案是“未定义”。 -Javascript

[英]Output in div, prints objects in array, but first answer is “Undefined”. - Javascript



我对此很陌生,并且希望对此有所了解:
每当我运行此代码时(PS:boardGames,是单独文档中的数组)
似乎可行,但第一个答案始终是“未定义”。 这是为什么? 以及如何解决?



谢谢!

var message;
var games;
var search;
var i;


function print(message) {
  var outputDiv = document.getElementById('output');
  outputDiv.innerHTML = message;
}


function gamestoPlay( games ) {
  var topGames = '<h3> Game: ' + boardGames[i].name +'</h3>';
  topGames += '<p> Minimum Players: ' + boardGames[i].idealMinPlayers     + '</p>';
  topGames += '<p> Maximum Players: ' + boardGames[i].idealMaxPlayers     + '</p>';
  return topGames
}

search = parseInt(prompt('How many people are coming?'));

for (i = 0; i < boardGames.length; i += 1) {
  games = i;
  if ( search >= boardGames[i].idealMinPlayers && search <= boardGames[i].idealMaxPlayers) {
    message += gamestoPlay();
    print(message);
  } 
}

因为您没有初始化message

当你做

message += gamesToPlay();

它首先必须将message转换为字符串,以便可以将其连接起来。 由于您没有初始化message ,因此它的值是undefined ,当将其转换为字符串时,它的值变为"undefined" ,然后将gamesToPlay()的结果连接到该消息上。

将初始化更改为:

var message = "";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM