i在我的hint()方法中有错误,对获取字符串的理解为空值

问题描述 投票:0回答:2
var message = "";
var student;

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

function getStudentReport(student) {
  let report = "<h2>Student: " + student.name + "</h2>";
  report += "<p>Track: " + student.track + "</p>";
  report += "<p>Points: " + student.points + "</p>";
  report += "<p>Achievements: " + student.achievements + "</p>";
  return report;
}

while (true) {
  var search = prompt('Search student record: type a name [Jody
] (or type "quit" to end)');
  if (search === null || search.toLowerCase() === "quit") {
    break;
  }
  for (var i = 0; i < students.length; i += 1) {
    student = students[i];
    if (student.name === search) {
      message = getStudentReport(student);
      print(message);
    }
  }
}

我遇到以下问题,到目前为止,我正在尝试通过prompt()收集用户信息,到目前为止,默认情况下prompt()始终会返回一个字符串,但是在这种情况下,它将返回null作为输出。

If you would like to see the whole process follow this link

javascript prompt
2个回答
0
投票

只需删除换行符。请查看以下代码段。

var message = "";
var students = [{
  name: 'Jody',
  track: 2,
  points: 80,
  achievements: 'none'
}];

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

function getStudentReport(student) {
  let report = "<h2>Student: " + student.name + "</h2>";
  report += "<p>Track: " + student.track + "</p>";
  report += "<p>Points: " + student.points + "</p>";
  report += "<p>Achievements: " + student.achievements + "</p>";
  return report;
}

while (true) {
  var search = prompt('Search student record: type a name [Jody] (or type "quit" to end)');

  if (search === null || search.toLowerCase() === "quit") {
    break;
  }
  for (var i = 0; i < students.length; i += 1) {
    student = students[i];
    if (student.name === search) {
      message = getStudentReport(student);
      print(message);
    }
  }
}
<div id="output"></div>

0
投票

此两行:

var search = prompt('Search student record: type a name [Jody
 ] (or type "quit" to end)');

加入一行。

var search = prompt('Search student record: type a name [Jody] (or type "quit" to end)');

新行(换行符)中断了您的代码。

还可以在第一行的末尾使用插值``或\进行求解。

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