gpt4 book ai didi

javascript - 试图通过输入字符串来使程序停止运行

转载 作者:行者123 更新时间:2023-12-02 16:31:22 25 4
gpt4 key购买 nike

如果用户输入字符串“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 之外,因此无论输入如何,它每次都会中断。您希望 break 位于 if 内,这样它只会在特定输入上中断。

关于javascript - 试图通过输入字符串来使程序停止运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28268129/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com