var arr = [] 与 var arr = new Array();
new關(guān)鍵字的使用
除了在需要實例化一個對象,或罕見的需要延時加載數(shù)據(jù)的情況外,你基本上不需要使用new關(guān)鍵字。在Javascript里分配大量的new變量地址是一項很慢的操作,為了效率起見,你應(yīng)該始終使用對象符號。
new Array() 會實例化一個對象變量,而var arr=[],等于是直接聲明一個變量。很明顯實例一個對象對性能的損耗比直接聲明一個對象來的大些
[]和new Array()在語法上唯一的區(qū)別是new Array()可以直接設(shè)置數(shù)組的長度。
如:new Array(100)
但這一特性往往給程序的修改帶來些小麻煩。
如:new Array(56,46,78) 一開始給數(shù)組設(shè)置了三個元素,之后因為某某原因要修改程序去掉兩個元素。不注意的話就成了new Array(56)。導(dǎo)致程序錯誤。
arr=[] 在創(chuàng)建對象時,會分配默認(rèn)的元素個數(shù),也就是說,哪怕你這個里邊只放一個元素,它也會占據(jù)默認(rèn)元素個數(shù)的空間,而當(dāng)里面的元素超過個數(shù)時,
會再度分配新的空間出來。
使用這種,一般用于不確定元素個數(shù)的場合,理論上來說,它有浪費內(nèi)存空間的嫌疑(它沒有被使用完全的情況會占絕大多數(shù))。
new Array()
在創(chuàng)建對象時,元素個數(shù)已確定,使用在已知元素個數(shù)的場合,相對來說,它的限制更大,但是也更"節(jié)能"。
轉(zhuǎn)載于:https://www.cnblogs.com/bigdesign/p/4002749.html
總結(jié)
以上是生活随笔為你收集整理的var arr = [] 与 var arr = new Array();的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java如何删除文件夹_Java如何删除
- 下一篇: php 设计模式 - 单例