gpt4 book ai didi

javascript switch() 或 if()

转载 作者:行者123 更新时间:2023-12-04 01:54:13 26 4
gpt4 key购买 nike

如果我这样做会更好:

if(message == 'redirect')
{
is_valid.accepted = true;
}
else if(message == 'invalid id')
{
is_valid.accepted = false;
}
else
{
is_valid.accepted = false;
}

或者我这样做

switch (message)
{
case 'invalid id':
default:
is_valid.accepted = false;
break;
case 'redirect':
is_valid.accepted = true;
break;
}

最佳答案

如果您预见到需要添加大量新案例,您可以使用 switch

如果您不想添加很多新案例,为了清楚起见,我可能会这样做:

is_valid.accepted = message=='redirect';

(另请注意,您对“无效 ID”的检查没有任何作用)

然而,如果你不得不添加新的东西,请注意它是多么的好你不必重复你自己不必重复你自己不必重复你自己,还有性感的格式:

switch (message)
{
case 'invalid id':
case 'penguin invasion':
case 'the internet is down':
case 'error not enough caffeine':
is_valid.accepted = false;
break;

case 'redirect':
case 'upvote me':
case 'vip':
case 'flamewar':
is_valid.accepted = true;
break;

default:
is_valid.accepted = false;
// perhaps log or something
}

想象一下所有那些丑陋的 else 和 else-ifs,否则你会有。


旁注:如果你有非常复杂的规则,但仍然是单标志白名单-黑名单范例,那么:

var blacklist = ['invalid id', 'penguin invasion', 'the internet is down' 'error not enough caffeine'];
var whitelist = ['redirect', 'upvote me', 'vip', 'flamewar'];

is_valid.accepted = whitelist.indexOf(message)!=-1;

如果您想动态构建白名单,您也可以这样做。

关于javascript switch() 或 if(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5711347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com