设置if else函数,检测它是否是元音

0 javascript if-statement

我是JavaScript的新手,我知道我做错了,因为我不断得到true结果.有人可以指出我的错误吗?提前致谢.

function checkForVowel(x){
   if(x == "a", "e", "i", "o", "u"){
       document.write("true");
   }else{
       document.write("false");
   }
}

checkForVowel("n");
Run Code Online (Sandbox Code Playgroud)

Ry-*_*Ry- 11

JavaScript的比较运算符并不神奇; 你需要分别进行每次比较.您可以使用逻辑OR检查"任何这些" ||:

if(x == "a" || x == "e" || x == "i" || x == "o" || x == "u")
Run Code Online (Sandbox Code Playgroud)

或者,由于您有许多单字符字符串,您可以使用indexOf.但如果你刚刚开始,上面的内容可能会更容易理解.

if(x.length === 1 && 'aeiou'.indexOf(x) > -1)
Run Code Online (Sandbox Code Playgroud)

至于你不断,变为现实的原因,它实际上是JavaScript中的一个操作符,主要是为了让人迷惑1.它评估其左侧,然后评估其右侧,并返回右侧.所以你的表达式如下:

if(x == "a", "e", "i", "o", "u")
if("e", "i", "o", "u")
if("i", "o", "u")
if("o", "u")
if("u")
Run Code Online (Sandbox Code Playgroud)

这是一个真正的价值.

1实际上不是.