javascript中newArray()和vararr=[]有什么區(qū)別

javascript中new Array()和var arr=[]有什么區(qū)別?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括江海網(wǎng)站建設(shè)、江海網(wǎng)站制作、江海網(wǎng)頁制作以及江海網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,江海網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到江海省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

var arr=[]

這是一種字面量定義數(shù)組的方法

var arr=new Array()

這是調(diào)用數(shù)組構(gòu)造函數(shù)生成的數(shù)組

上面的2種定義數(shù)組的方法到底一樣不一樣

目前我們大致的認(rèn)同是下面這樣的

用new 關(guān)鍵字去內(nèi)存開辟一個(gè)存儲(chǔ)地址比較耗資源,耗內(nèi)存.

而字面量方式直接在內(nèi)存開辟一個(gè)存儲(chǔ)字段相對(duì)簡單,不耗資源.

我們首先不去否定上面的結(jié)論對(duì)不對(duì).

首先從功能上來說 var =arr=[] 和 var arr= new Array() 是一樣的.

然后我們用一段代碼來驗(yàn)證一下

var startTime=new Date().getTime();
var test1=[];
var test2=[];
for(var i=0;i<1000000;i++){
  //test1[i]={};
  test2[i]=new Object();
}

var endTime=new Date().getTime();
console.log('輸出耗時(shí):',endTime-startTime);

上面 test1 和 test2 2個(gè)數(shù)組中每個(gè)元素都是一個(gè)數(shù)組,可以依次注釋任意一行代碼,我大概測(cè)試10多次以上

結(jié)果

36**
36**

上面的2個(gè)耗時(shí)都是 3600 秒左右,忽上忽下,沒有絲毫大的差距

我的運(yùn)行話就 MacBook Air (13-inch, Mid 2013) ,處理器:1.3 GHz Intel Core i5 , 內(nèi)存: 4 GB 1600 MHz DDR3 , JS Runner 工具

所以姑且認(rèn)為上面的2種方法差異不大.

[ ]和new Array()在語法上唯一的區(qū)別是new Array()可以直接設(shè)置數(shù)組的長度

new Array() 在構(gòu)造數(shù)組的時(shí)候有下面幾種方法

var arr = new Array();
var arr = new Array(8);
var arr = new Array("c", "d", “e”);
字面量方式
var d = ["111", "222", "333"];

所以在性能上這2個(gè)方法沒有太大差距,只是一種使用習(xí)慣,字面量更加直接了當(dāng).

退一步講,如果我用 var arr=[‘111','222','333']; 定義一個(gè)數(shù)組的時(shí)候,難道它沒有通過構(gòu)造函數(shù)在內(nèi)存中開辟一個(gè)存放地址嗎?

js中數(shù)組Array的一些常用方法總結(jié)

var list = new Array()是我們?cè)趈s中常常寫到的代碼,今天就總結(jié)哈Array的對(duì)象具有哪些方法。

list[0] = 0;

list[1] = 1;

list[2] = 2;

或者這樣聲明:var list = [0,1,2]

1 shift()t:刪除數(shù)組的第一個(gè)元素,返回刪除的值。這里是0

2 unshift(3,4):把參數(shù)加載數(shù)組的前面,返回?cái)?shù)組的長度?,F(xiàn)在list:中是3,4,0,1,2

3pop():刪除數(shù)組的最后一個(gè)元素,返回刪除的值。這里是2.

4push(3):將參數(shù)加載到數(shù)組的最后,返回?cái)?shù)組的長度,現(xiàn)在List中時(shí):0,1,2,3

5concat(3,4):把兩個(gè)數(shù)組拼接起來。

6splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項(xiàng),并從該位置起插入val1,val2,...

reverse:將數(shù)組反序
var a = [1,2,3,4,5];
var b = a.reverse(); //a:[5,4,3,2,1] b:[5,4,3,2,1]

sort(orderfunction):按指定的參數(shù)對(duì)數(shù)組進(jìn)行排序
var a = [1,2,3,4,5];
var b = a.sort(); //a:[1,2,3,4,5] b:[1,2,3,4,5]

slice(start,end):返回從原數(shù)組中指定開始下標(biāo)到結(jié)束下標(biāo)之間的項(xiàng)組成的新數(shù)組
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]

join(separator):將數(shù)組的元素組起一個(gè)字符串,以separator為分隔符,省略的話則用默認(rèn)用逗號(hào)為分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對(duì)創(chuàng)新互聯(lián)的支持。

網(wǎng)頁標(biāo)題:javascript中newArray()和vararr=[]有什么區(qū)別
鏈接地址:http://muchs.cn/article12/pgocdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司營銷型網(wǎng)站建設(shè)、做網(wǎng)站、、移動(dòng)網(wǎng)站建設(shè)、定制網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)