Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试测试空字符串时出现语法错误_Javascript_String - Fatal编程技术网

Javascript 尝试测试空字符串时出现语法错误

Javascript 尝试测试空字符串时出现语法错误,javascript,string,Javascript,String,在Javascript中,我尝试执行一项简单的任务,即测试并返回两个单词中最长的一个。如果单词是空的,那么返回应该是“空字符串”。在使用or elseif语句测试空字符串时,我一直遇到语法错误。我使用(!word1)和(!word2),因为我的理解是Javascript,它是一个布尔语句,应该是false。请告诉我哪里出了问题: function longest(word1, word2) { if (word1.length >= word2.length) { return

在Javascript中,我尝试执行一项简单的任务,即测试并返回两个单词中最长的一个。如果单词是空的,那么返回应该是“空字符串”。在使用or elseif语句测试空字符串时,我一直遇到语法错误。我使用(!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'));

if
条件应正好由一对括号包围


如果(!word1)| |(!word2)将
else更改为
else如果(!word1 | | |!word2)
您的else和else出现错误。这是你的问题的完整代码

function longest(word1, word2) {
if ((!word1) || (!word2)) {


    alert ("an empty string");

} else if (word1.length >= word2.length) {

    alert (word1);

}else{

   alert (word2);        

}

}

longest('hi');
您的“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'));

else if
不能跟在同一组中的
else
后面,而
if
需要在整个条件周围加一组括号。为什么返回的值周围有括号?非主题:
否则,如果(!word1)|(!word2)
具有适当的语法,则应为第一个条件。通常您首先检查事物是否存在,然后对它们执行逻辑
a | | b?a、 长度>=b.长度?答:b:“空字符串”
仍然会是关于意外的“else”的语法错误,是的,但其他回答者已经涵盖了这一点,我只想尽快帮助OP解决问题,然后关闭/删除这个垃圾问题。