【发布时间】:2013-09-23 14:19:34
【问题描述】:
我在我的插件中写了一个 else / if 语句,但是为了优化(更少的代码)我希望它更短。
if ( self.first() ) {
if ( self.second() ) {
self.run();
}
else {
self.other_run();
}
}
else {
return false;
}
例子
if ( check cookie is true ) {
if ( check timezone is true ) {
run sth
}
else {
run other thing
}
}
else {
do nothing
}
怎么样?
if ( self.first() ) {
self.second ? self.run() : self.other_run();
}
else {
return false;
}
这样写可以吗?
return self.first() ? ( self.second() ? self.run() : self.other_run() ) : false;
【问题讨论】:
-
那不一定运行得更快。另外,
return声明呢? -
截至您的编辑时,那些仍然没有做完全相同的事情。如果
self.first()为真,则第一个版本不会返回;第二个版本会(它返回run或other_run返回的任何内容)。 -
更少的代码通常很好,但在像这样的大逻辑场景中,你只会混淆并使逻辑在未来更难阅读(尤其是对于其他程序员)。我仍然相信最好的方法是第一种方法。
标签: javascript if-statement short