实例化对象时省略括号有什么区别(主要是性能)?
var obj1:MyObject = new MyObject();
var obj2:MyObject = new MyObject;
我喜欢吃糖的方式。
实例化对象时省略括号有什么区别(主要是性能)?
var obj1:MyObject = new MyObject();
var obj2:MyObject = new MyObject;
我喜欢吃糖的方式。
这两种语法生成的 AVM 字节码绝对没有区别。
我使用abcdump查看 ABC 代码。以下是结果。
AS3
var a1:A = new A;
var a2:A = new A();
美国广播公司
...
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
...
应该没有区别(恕我直言)。单从推论来看,adobe 雇佣的 1337 名 SW 工程师可能会将两者编译成相同的指令,因为这两行都暗示着同样的事情。