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

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

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

var arr=[]

這是一種字面量定義數組的方法

var arr=new Array()

這是調用數組構造函數生成的數組

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

目前我們大致的認同是下面這樣的

用new 關鍵字去內存開辟一個存儲地址比較耗資源,耗內存.

而字面量方式直接在內存開辟一個存儲字段相對簡單,不耗資源.

我們首先不去否定上面的結論對不對.

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

然后我們用一段代碼來驗證一下

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('輸出耗時:',endTime-startTime);

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

結果

36**
36**

上面的2個耗時都是 3600 秒左右,忽上忽下,沒有絲毫大的差距

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

所以姑且認為上面的2種方法差異不大.

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

new Array() 在構造數組的時候有下面幾種方法

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

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

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

js中數組Array的一些常用方法總結

var list = new Array()是我們在js中常常寫到的代碼,今天就總結哈Array的對象具有哪些方法。

list[0] = 0;

list[1] = 1;

list[2] = 2;

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

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

2 unshift(3,4):把參數加載數組的前面,返回數組的長度。現在list:中是3,4,0,1,2

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

4push(3):將參數加載到數組的最后,返回數組的長度,現在List中時:0,1,2,3

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

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

reverse:將數組反序
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):按指定的參數對數組進行排序
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):返回從原數組中指定開始下標到結束下標之間的項組成的新數組
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):將數組的元素組起一個字符串,以separator為分隔符,省略的話則用默認用逗號為分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創新互聯行業資訊頻道,感謝您對創新互聯的支持。

網頁標題:javascript中newArray()和vararr=[]有什么區別
鏈接地址:http://m.kartarina.com/article12/pgocdc.html

成都網站建設公司_創新互聯,為您提供建站公司營銷型網站建設做網站移動網站建設定制網站

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

營銷型網站建設
主站蜘蛛池模板: 亚洲Av无码乱码在线znlu| 国产高清无码二区| 亚洲av激情无码专区在线播放| 亚洲精品无码久久久久sm| 中文字幕AV中文字无码亚| 亚洲国产成人无码AV在线| 中文字幕丰满乱孑伦无码专区| 中文无码不卡的岛国片| 中文字幕人妻三级中文无码视频| 无码区日韩特区永久免费系列| 中文无码成人免费视频在线观看| 亚洲a无码综合a国产av中文 | 国产办公室秘书无码精品99| 18禁无遮拦无码国产在线播放| 国产品无码一区二区三区在线蜜桃| av区无码字幕中文色| 亚洲AV无码国产精品麻豆天美| 嫩草影院无码av| 国产精品无码翘臀在线观看| 亚洲av无码专区在线| 无码精品视频一区二区三区| 国产亚洲大尺度无码无码专线| 无码人妻丰满熟妇区五十路| 无码任你躁久久久久久老妇App| 国产精品无码一区二区三级| mm1313亚洲精品无码又大又粗| 亚洲精品久久无码av片俺去也| 亚洲av日韩av无码av| 18精品久久久无码午夜福利| 国产成A人亚洲精V品无码| 亚洲中文字幕无码久久2017| 国产网红无码精品视频| 国产精品99精品无码视亚| 在线精品无码字幕无码AV| 亚洲日韩中文无码久久| 国产av无码专区亚洲av桃花庵 | 无码国产精品一区二区免费模式 | 免费无码国产在线观国内自拍中文字幕| 亚洲中文字幕无码av在线| 亚洲中文字幕久久精品无码2021| 久久亚洲AV成人出白浆无码国产|