Javascript 为什么不是';我的第二条if语句在我的代码中不起作用吗?

Javascript 为什么不是';我的第二条if语句在我的代码中不起作用吗?,javascript,html,if-statement,constants,Javascript,Html,If Statement,Constants,我目前正在做一个项目,如果你点击一个按钮,然后说些什么,电脑会做出反应。我设置了一个名为“问候”的常量,并在其中设置了一些字符串。然后在readOutLoud函数中放入一个if语句。在if语句中,计算机检查用户是否说出了任何关键词(现在它只能对“你好”做出响应),然后使用数学。Floor random,我也在if语句中插入了它,从我在问候语常量中输入的3个选项中选择一个。所以现在,如果你按下通话按钮并说“你好吗”,它将以我在问候语中输入的三个选项之一作出回应。出于某种原因,我放在第一条下面的第二

我目前正在做一个项目,如果你点击一个按钮,然后说些什么,电脑会做出反应。我设置了一个名为“问候”的常量,并在其中设置了一些字符串。然后在readOutLoud函数中放入一个if语句。在if语句中,计算机检查用户是否说出了任何关键词(现在它只能对“你好”做出响应),然后使用数学。Floor random,我也在if语句中插入了它,从我在问候语常量中输入的3个选项中选择一个。所以现在,如果你按下通话按钮并说“你好吗”,它将以我在问候语中输入的三个选项之一作出回应。出于某种原因,我放在第一条下面的第二条if语句不起作用,为什么会这样?第二个的唯一不同之处在于它使用了不同的关键字并得到了另一个常量

const btn=document.querySelector('.talk');
const content=document.querySelector('.content');
康斯特问候语=[

'如果你很好,我很乐意你的代码不起作用,因为“includes”方法检查数组是否包含某个特定值,而不是多个值中的一个。你可以使用“some”方法这样做

if(['hey', 'hi', 'hello'].some(word => message.includes(word))) {
    const finalText = hello[Math.floor(Math.random() * hello.length)];
    speech.text = finalText;
}

这将遍历数组,检查消息是否包含任何指定值。

includes
接受1个参数,而不是3个。(例外:第二个参数可以指定搜索的开始索引)
消息。includes('hey','hi','hello')
可以更改为
['hey','hi'hello']。一些(z=>message includes(z))
如果您使用的是一种不熟悉的方法,但它没有按照您预期的方式工作,请阅读。