尝试通过输入字符串使程序停止运行

Trying to make the program stop running by inputting a string

本文关键字:程序 运行 字符串 输入      更新时间:2023-09-26

如果用户输入字符串"END"然后直接进入输出,我正在尝试让我的javascript程序停止运行。我只是尝试放置中断,但它无法定义。到目前为止,我有这个:

var name = new Array(40);
var mark = new Array(40);
var i = 0;
var j = 0;
var error = "abcdefghijklmnopqrstuvwxynzABCDEFGHIJKLMNOPQRSTUVWXYNZ.''- ";
for(i; i<3; i++){
  name[i]=prompt("Enter student''s name, allowed characters: [a-zA-Z.''- ]");
  if (name[i] == 'END'){
    alert('No input. 'n Goodbye.');
  }
  break;
  mark[i]=prompt('Enter student''s mark');
}
var student = mark.concat(name);
student.sort();
alert(student[3]);

该程序应该要求用户提供学生姓名和他们的分数。 然后打印出最高分的学生。 用户可以键入 END 来停止程序。并且该名称可以允许在var错误中找到字符。我在程序中实现 var 错误时也遇到问题

你想使用 break 语句:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/break

if (name[i] === 'END') {
    alert('No input. 'n Goodbye.');
    break; // Will exit the loop
}
其次,围绕

这个名字似乎有一些奇怪的name,直到现在尝试这个我才意识到。

>>> var names = new Array(40)
undefined
>>> names
[undefined × 40]
>>> names[0] = "hello"
"hello"
>>> names
["hello", undefined × 39]

>>> var name = new Array(40)
undefined
>>> name
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
>>> name[0] = "hello"
"hello"
>>> name
",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"

所以也许改变你的name数组被称为别的东西?(无论如何,names是一个更好的名字,因为它是一个多个名字,而不仅仅是一个名字)。

事实证明,全局name变量是特殊的,因为它引用了"窗口名称"(https://developer.mozilla.org/en-US/docs/Web/API/Window.name),这就是您看到该行为的原因。

同样在您当前的代码中,您的 break 语句在 if 之外,因此无论输入如何,它每次都会中断。您希望breakif内,因此它只会在该特定输入上中断。

您希望在看到"END"后结束循环吗? 只需使用休息时间。

另外,你的最后一行应该做什么?