紧凑的if / else语句[AS3]

时间:2013-04-22 17:46:41

标签: actionscript-3 syntax

非常简单的问题,我只是想知道是否有一种方法可以用更少的字符编写if / else语句,例如我可以创建一个if语句:

if (season == "autumn") {
  tree.gotoAndStop ("brown leaves");
}

或:

if (season == "autumn") tree.gotoAndStop ("brown leaves");

这使用的空间更少,使我的代码看起来更漂亮。使用if / else语句,我的选项似乎是:

if (season == "autumn" || season == "winter") {
  tree.gotoAndStop ("brown leaves");
} else {
  tree.gotoAndStop ("green leaves");
}

或:

gotoAndStop((season == "autumn" || season == "winter")
            ? "brown leaves" : "green leaves");

虽然第二种方法并不总是理想的。你知道其他选择吗?

1 个答案:

答案 0 :(得分:3)

至于以简洁的方式编写代码,您可以使用以下所有技术手动缩小代码but this is a terrible design decision and will likely lead to headaches and/or bodily harm in the future。不要说我没有警告你。

<子>的if-else:
if (foo) {
    bar();
} else {
    baz();
}
<子>变为:
foo?bar():baz()
<子>如果:
if (foo) {
    bar();
}
<子>变为:
foo&&bar();
<子>如果-不
if (!foo) {
    bar();
}
<子>变为:
foo||bar();
如果有多个语句:
if (foo) {
    bar();
    baz();
    fizz();
    buzz();
}
<子>变为:
foo&&(bar(),baz(),fizz(),buzz());