当前位置: 代码迷 >> JavaScript >> 问下var arr=new Array()跟 var arr=[] 的区别
  详细解决方案

问下var arr=new Array()跟 var arr=[] 的区别

热度:893   发布时间:2013-06-26 14:29:32.0
问下var arr=new Array()和 var arr=[] 的区别。
今天看到有人说定义数组建议用var arr=[],而不建议用new Array();
请问这两个有性能方面的优势比较吗?或者在哪种情况下用哪种更好一点,还是这两个不管什么情况下,性能都没区别???

------解决方案--------------------
var arr=[], 数组不就是Array类实例出来的对象吗,这两种写法我觉得应该等效吧 
------解决方案--------------------

------解决方案--------------------
new Array() 会实例化一个对象变量,而var arr=[],等于是直接声明一个变量。很明显实例一个对象对性能的损耗比直接声明一个对象来的大些
------解决方案--------------------
new Array() 和var arr=[] js引擎对他们的理解应该一样吧, arr=[] 数组实质不就是对象吗,即便不写new ,js引擎同样会在内存中开辟一个内存单元存储数据, 我还是觉得效率上没什么差别啊
------解决方案--------------------
太专业了~~~不懂哦

------解决方案--------------------

------解决方案--------------------
[]和new Array()在语法上唯一的区别是new Array()可以直接设置数组的长度。
如:new Array(100)
但这一特性往往给程序的修改带来些小麻烦。
如:new Array(56,46,78) 一开始给数组设置了三个元素,之后因为某某原因要修改程序去掉两个元素。不注意的话就成了new Array(56)。导致程序错误。

------解决方案--------------------

------解决方案--------------------
引用:
[]和new Array()在语法上唯一的区别是new Array()可以直接设置数组的长度。
如:new Array(100)
但这一特性往往给程序的修改带来些小麻烦。
如:new Array(56,46,78) 一开始给数组设置了三个元素,之后因为某某原因要修改程序去掉两个元素。不注意的话就成了new Array(56)。导致程序错误。
效率应该一样吧,只是根据需要选择的方式可以不一样吧。
------解决方案--------------------
一个简体,一个繁体,我喜欢简体写法
  相关解决方案