在实例化对象时,是否存在与省略括号的差异(主要是性能)?
var obj1:MyObject = new MyObject();
var obj2:MyObject = new MyObject;
我喜欢糖的方式。
答案 0 :(得分:4)
这两种语法产生的AVM字节码完全没有区别。
我用abcdump来查看ABC代码。以下是结果。
<强> AS3 强>
var a1:A = new A;
var a2:A = new A();
<强> ABC 强>
...
5 findpropstrict private::A
7 constructprop private::A (0)
10 coerce private::A
12 setlocal1
13 findpropstrict private::A
15 constructprop private::A (0)
18 coerce private::A
20 setlocal2
...
答案 1 :(得分:0)
应该没有任何区别(恕我直言)。仅从扣除中,adobe雇用的1337 SW工程师可能会将这两个编译成相同的指令,因为这两行都意味着同样的事情。