javascript - JavaScript if 语句不起作用
问题描述
我有如下功能
function test (x){
if(x==='a' || x!=='b' ||'c')
{
console.log('result');
console.log(x);
}
else {
console.log('wrong')
}
}
test('123');
我希望输出会记录“错误”,但它会记录 //result 123,如下图所示。我不确定是因为 if 条件不能这样工作吗?
解决方案
'c'
将始终解析为真。你基本上是在说,
是否
'c'
等同于真实值?
...当然可以(它是一个非空字符串)。阅读有关真/假的信息。
您可能假设这部分条件将“借用”前一个 (b's) ||
。这不会发生。
所以你需要x === 'c'
.
但是,您的逻辑很复杂。你确定你的意思是!== 'b'
而不是=== 'b'
?这意味着如果您传递除“b”以外的任何内容,则条件将解析为真,因为您仅使用“或”运算符。
总之,您可能的意思是:
if( x === 'a' || x === 'b' || x === 'c')
可以简化为
if (['a', 'b', 'c'].includes(x))
或者确实
if (/^[abc]$/.test(x))
推荐阅读
- macos - 下载 libimobiledevice.zip 失败 Flutter Exception 404 Flutter
- azure - 使用 MSAL.js 时如何解决“未提供回复地址”错误?
- python - 如何在模板中分别显示 Django queryset dict-key 和 -values?
- android - 当我在 iOS 和 Android 物理设备中测试签名时,Expo 中的 react-native-signature-canvas 库出现问题
- python - 在 django 中处理非提交输入类型
- python - 如何将二进制字符串转换为二进制python
- c++ - 如果我在 auto& 中捕获返回值,它会从我下面销毁吗?
- xcode - 更新 Flutter 后 Xcode 构建失败
- python - Wagtail - 如何添加多个博客?
- google-apps-script - 如何将组织中所有用户的 Google 日历会议/活动信息从 Google 日历导入 Google 表格(使用 API)