在实例化对象时,省略括号有什么区别吗?

时间:2013-09-08 19:26:43

标签: actionscript-3

在实例化对象时,是否存在与省略括号的差异(主要是性能)?

var obj1:MyObject = new MyObject();

var obj2:MyObject = new MyObject;

我喜欢糖的方式。

2 个答案:

答案 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工程师可能会将这两个编译成相同的指令,因为这两行都意味着同样的事情。