Flash a=[]或a=新数组()哪个更可取?
在ActionScript3中,哪个更可取Flash a=[]或a=新数组()哪个更可取?,flash,actionscript-3,performance,optimization,syntax,Flash,Actionscript 3,Performance,Optimization,Syntax,在ActionScript3中,哪个更可取 a = [1,2,3]; 或 似乎用数据作为单个参数调用数组构造函数会比较慢,而另一种方法是某种直接内存拷贝 你知道在大多数情况下哪个更好用吗?为什么?我更喜欢方括号,因为它是一种更简洁易读的语法 后一种语法实际上会慢一些,因为您可以通过执行array=function(){…}替换默认数组构造函数--至少在大多数ECMAScript变体中是这样。因此,使用这种形式需要首先查找全局数组函数。使用数组文本(var a:Array=[])总是比使用new
a = [1,2,3];
或
似乎用数据作为单个参数调用数组构造函数会比较慢,而另一种方法是某种直接内存拷贝
你知道在大多数情况下哪个更好用吗?为什么?我更喜欢方括号,因为它是一种更简洁易读的语法
后一种语法实际上会慢一些,因为您可以通过执行
array=function(){…}替换默认数组构造函数代码>--至少在大多数ECMAScript变体中是这样。因此,使用这种形式需要首先查找全局数组函数。使用数组文本(var a:Array=[])总是比使用new Array()更快,我相信这被认为是一种最佳做法。为了避免混淆,我喜欢在几乎所有情况下使用方括号
数组构造函数有两种形式:
数组(…)
数组(大小:int)
第一个表单使用列出的参数作为值创建数组,第二个表单使用该数量的元素创建数组。在您想用单个int初始化数组之前,一切都很好:
new Array()=>[]
newarray(“foo”)=>
新数组(“foo”、“bar”)=>
新数组(42,43)=>[42,43]
新数组(42)=>[未定义,…未定义x 40…,未定义]
在我停止使用数组构造函数之前,这种不一致性困扰了我好几次,除了极少数情况下我需要一个包含N个未定义元素的数组。很有趣。就我个人而言,我觉得新数组(args)更容易阅读。我觉得它不必要地冗长和分散注意力。这也是我不喜欢基本派生语言的原因之一。
a = new Array(1,2,3);