Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/423.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_Comparison Operators - Fatal编程技术网

javascript中的串联比较

javascript中的串联比较,javascript,comparison-operators,Javascript,Comparison Operators,这更多是出于好奇,但是否可以在javascript中连接比较 示例: var foo = 'a', bar = 'b'; if (foo === ('a' || bar)) { console.log('yey'); } 关于 var foo = 'a', bar = 'b'; if (foo === 'a' || foo === bar)) { console.log('yey'); } 注:当您在几种情况下比较同一变量时,这可能非常有用。有几种不同的方法

这更多是出于好奇,但是否可以在javascript中连接比较

示例:

var foo = 'a',
    bar = 'b';
if (foo === ('a' || bar)) {
    console.log('yey');
}
关于

var foo = 'a',
    bar = 'b';
if (foo === 'a' || foo === bar)) {
    console.log('yey');
}


注:当您在几种情况下比较同一变量时,这可能非常有用。

有几种不同的方法可以做到这一点。我最喜欢的是将数组与


有几种不同的方法可以做到这一点。我最喜欢的是将数组与

您可以使用:

尽管某些旧浏览器不支持此方法,但请查看MDN中的兼容性问题,其中提供了一个简单的解决方案

注释中建议的另一种方法是检查对象中是否存在属性:

if (foo in {a: 1, b: 1}) {  // or {a: 1, b: 1}[foo]
    console.log("yey");
}
您可以使用:

尽管某些旧浏览器不支持此方法,但请查看MDN中的兼容性问题,其中提供了一个简单的解决方案

注释中建议的另一种方法是检查对象中是否存在属性:

if (foo in {a: 1, b: 1}) {  // or {a: 1, b: 1}[foo]
    console.log("yey");
}
这是一个解决方案

另一个选择是

其他解决方案也可以是对象查找或正则表达式

这是一个解决方案

另一个选择是


其他解决方案也可以是对象查找或正则表达式

通常我会使用正则表达式:

if (^/a|b$/i.test(foo)) {
  ...
}

通常,我会使用正则表达式:

if (^/a|b$/i.test(foo)) {
  ...
}

似乎
如果({a:1,b:1}[foo])
会更好一点。@Pointy。。。或者{a:1,b:1}中的
foo。看起来像
如果({a:1,b:1}[foo])
会更好一点。@Pointy。。。或者{a:1,b:1}中的
foo
。非常有趣。没有想过使用indexOf。非常有趣。没有想过使用indexOf。是的。虽然如果右边不是字符串或数字,这将不起作用。@Tivie给出一个失败的例子?开关不限于字符串和数字。很抱歉,你是对的。似乎javascript允许您使用variablesys切换/case。虽然如果右边不是字符串或数字,这将不起作用。@Tivie给出一个失败的例子?开关不限于字符串和数字。很抱歉,你是对的。似乎javascript允许您使用variablesOops切换/case。这是个骗局。实际上我在这里搜索过,但什么也找不到。编辑过,所以有点不同。这是个骗局。实际上我在这里搜索过,但没有找到任何东西。经过编辑,所以它变得有点不同
if (^/a|b$/i.test(foo)) {
  ...
}