有没有人知道速记动作脚本3?

时间:2009-06-08 20:41:34

标签: flash actionscript shorthand

我习惯使用if else速记:

var =(if语句)? '某事':'别的';

还有其他简易方法吗?

4 个答案:

答案 0 :(得分:7)

不确定这是否符合您的要求,但这也有效:

var myVar:String = someStrThatMightBeNull || "default value if that other value is null";

因此,如果赋值运算符右边的第一个值为null / undefined,它将使用文字字符串。

答案 1 :(得分:6)

var myArray:Array = new Array();

可替换为:

var myArray:Array = [];

对象也是如此:

var myObj:Object = new Object();

可替换为:

var myObj:Object = {};

答案 2 :(得分:4)

x ||= 5; // set x to 5 if x evaluates to false
x || someMethod(); // call someMethod if x evaluates to false
x && someMethod(); // call someMethod if x evaluates to true

答案 3 :(得分:3)

严格地说,这不是if / else语句的简写。这是一个叫做条件运算符的三元运算符。

请注意,虽然这些做同样的事情,但它们的阅读方式不同:

// if the condition is true, we do something... maybe many things
if (condition) {
  var = 'something';
} else {
  var = 'something else';
}

// reads more clearly as an assignment based upon a condition
var = (condition) ? 'something' : 'something else';

在许多情况下,将其视为速记是很好的。随着时间的推移,你的大脑会在适当的时候选择一个条件运算符;但是,当你只是沾沾自喜时,你会发现条件运算符是一种更简洁地表达代码的好方法。