在Javascript中,我正在尝试执行一项简单的测试任务并返回两个单词中最长的单词。如果单词是空的,那么返回应该说"空字符串"。使用orifif语句测试空字符串时,我不断收到语法错误。我正在使用(!word1)和(!word2),因为我的理解是在Javascript中它是一个布尔语句,应该是false。请告诉我哪里出错了:
function longest(word1, word2) {
if (word1.length >= word2.length) {
return (word1);
} else {
return (word2);
} else if (!word1) || (!word2) {
return "an empty string";
}
}
console.log(longest('hi'));
答案 0 :(得分:2)
if
条件应该被正好一对括号包围。
将else if (!word1) || (!word2)
更改为else if (!word1 || !word2)
。
答案 1 :(得分:0)
如果错误的方式,你得到了别的东西。下面是你问题的完整代码。
function longest(word1, word2) {
if ((!word1) || (!word2)) {
alert ("an empty string");
} else if (word1.length >= word2.length) {
alert (word1);
}else{
alert (word2);
}
}
longest('hi');
答案 2 :(得分:0)
您的“else”子句应该是if语句中的最后一个子句:
function longest(word1, word2) {
if (word1.length >= word2.length) {
return (word1);
} else if (!word1 || !word2) {
return "an empty string";
} else {
return (word2);
}
console.log(longest('hi'));