我在这里查看了很多与我有关的问题,但是它们都使用与我必须使用的方法不同的方法。我知道找出简单的方法是一个漫长的尝试,但我只是按照说明进行操作。
为什么下面的代码不起作用?该功能检查是否为元音。
然后检查输入的长度是否为1。如果为1,则调用该函数。如果大于1,则请求另一个输入,直到长度为1。
我现在看到boolean在JS中不存在。我想这个问题现在无效!
function isVowel(x){
boolean result;
if(x == "A" || x == "E" || x == "I" || x == "O" || x == "U" ) {
result = true;
}
else{
result = false;
}
return result;
}
var input;
input = prompt("Enter a character ");
input = input.toUpperCase();
if(input.length == 1){
isVowel(input);
}
}
else{
while(input.length != 1){
prompt("Enter a character ");
if(input.length == 1){
isVowel(input);
}
}
}
alert(isVowel(input));
最佳答案
您要在三个地方调用isVowel
,而只是在前两个地方扔掉返回值。如果要在前两个位置查看返回值,请显示它(通过上一个示例中的alert
或其他几种方式)。
还有其他问题:
boolean
而不是var
,因此该代码不会解析var result;
if (condition) {
result = true;
} else {
result = false;
}
return result;
...停止并做到:
var result = condition;
return result;
所以对于
isVowel
:function isVowel(x) {
var result;
result = x == "A" || x == "E" || x == "I" || x == "O" || x == "U";
return result;
}
(您当然可以使它成为一排,但是用这种方式调试更容易。)
}
块之后,您还有一个额外的if
(合理,一致的格式将使其变得显而易见)while
循环将永远不会结束,因为您永远不会使用input
的返回值更新prompt
if
后跟while
,请使用do-while
这是包含这些更改的更新版本
function isVowel(x) {
var result;
result = x == "A" || x == "E" || x == "I" || x == "O" || x == "U";
return result;
}
var input;
do {
input = prompt("Enter a character ");
if (input.length == 1) {
alert(isVowel(input));
}
} while (input.length != 1);
关于javascript - Javascript检查字符是否是元音,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26926994/