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