==运算符在If语句(JavaScript)中不起作用
我有一个名为 splitstatus 的 JavaScript 数组,它从名为“status”的变量中获取数据。splitStatus[0] 和 splitStatus[1] 包含其中的文本。
我使用 console.log 对它进行了双重检查
let splitStatus=status.split('n')
for(let i=0;i<splitStatus.length;i++){
console.log(splitStatus[0]); // shows output HI THERE
console.log(splitStatus[1]); // shows output HELLO WORLD
}
上面的代码按我的预期工作,因为 splitStatus[0] 内部存储了 'HI THERE',而 splitStatus[1] 内部存储了 'HELLO WORLD'。
问题:“if 条件”不适用于“==”运算符,如下所示
if (splitStatus[0]==' HI THERE '){
//my code
}
当我只输入“=”时它有效,但我想输入“==”。有人可以告诉我我做错了什么。非常感谢阅读。
回答
“你好”不等于“你好”。顺便说一句,您应该使用“===”而不是“==”来比较变量,而不应该使用“=”,因为它是赋值运算符,赋值运算符将始终返回,true因此它适用于您的情况。
了解更多:
- https://www.guru99.com/difference-equality-strict-operator-javascript.html
- 在 JavaScript 比较中应该使用哪个等于运算符 (== vs ===)?
- @SethB - No, you don't always _need_ to, but it conveys intent and avoids unwanted coercion. It's good practice to use strict equality unless you actively _**want**_ the conversions done with `==`