带字符串的JavaScript开关语句包括
我一直在寻找一些可以测试变量是否有特定单词和switch语句的东西: JavaScript带字符串的JavaScript开关语句包括,javascript,jquery,Javascript,Jquery,我一直在寻找一些可以测试变量是否有特定单词和switch语句的东西: JavaScript var str = "We are VR Troopers"; switch (str) { case str.includes("are"): // do something; break; // no default } 我找了一下,什么也没找到。你能提供一个你的答案的链接吗?这对我的学习有好处。谢谢 如果if太多,我想限制使用。如果您不想使用if最简单的解决方案是使用开关(tr
var str = "We are VR Troopers";
switch (str) {
case str.includes("are"):
// do something;
break;
// no default
}
我找了一下,什么也没找到。你能提供一个你的答案的链接吗?这对我的学习有好处。谢谢
如果
if
太多,我想限制使用。如果您不想使用if
最简单的解决方案是使用开关(true)
构造
我还建议,当您需要检查常量参数时,不要使用includes
,因为它的支持度现在很差(IE和Edge都不支持它),而应该使用正则表达式(如果您的参数是可变的,则使用a)
见:
例如,您可以对其进行改进,以测试它是word,还是对表达式不区分大小写,如
/\bare\b/
或/are/i
如果您不想使用if
则最简单的解决方案是使用开关(true)
构造
我还建议,当您需要检查常量参数时,不要使用includes
,因为它的支持度现在很差(IE和Edge都不支持它),而应该使用正则表达式(如果您的参数是可变的,则使用a)
见:
例如,您可以对它进行改进,以测试它是word,还是对表达式不区分大小写,如
/\bare\b/
或/are/i
在switch case中使用正则表达式是一种好的做法吗?参考资料:@Iceman这本身并不是一个坏的做法,但事实证明通常有更好的解决方案,我无法从过于有限的问题中推断出来(在这个特定的案例中,显而易见的解决方案是if
)。答案是有效的,但使用if
可能太多而无法键入。在switch case中使用regex是否是一个好的做法?参考资料:@Iceman这本身不是一个坏的做法,但事实证明通常有一个更好的解决方案,我无法从过于有限的问题中推断出来(在这个特定的案例中,显而易见的解决方案是if
)。答案是有效的,但使用if
可能太多而无法键入。
var str = "We are VR Troopers";
switch (true) {
case /are/.test(str):
// do something;
break;
// no default
}