最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
當前位置: 首頁 - 科技 - 知識百科 - 正文

javascript中new Array()和var arr=[]用法區(qū)別

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:24:19
文檔

javascript中new Array()和var arr=[]用法區(qū)別

javascript中new Array()和var arr=[]用法區(qū)別:大家在學(xué)習(xí)javascript中對于數(shù)組函數(shù)new Array()和var arr=[]很多朋友不知道如何區(qū)別,也不知道用法,下面看看我們總結(jié)的。 var arr=[] 這是一種字面量定義數(shù)組的方法 var arr=new Array() 這是調(diào)用數(shù)組構(gòu)造函數(shù)生成的數(shù)組 上面的2種定義數(shù)組的方法到底
推薦度:
導(dǎo)讀javascript中new Array()和var arr=[]用法區(qū)別:大家在學(xué)習(xí)javascript中對于數(shù)組函數(shù)new Array()和var arr=[]很多朋友不知道如何區(qū)別,也不知道用法,下面看看我們總結(jié)的。 var arr=[] 這是一種字面量定義數(shù)組的方法 var arr=new Array() 這是調(diào)用數(shù)組構(gòu)造函數(shù)生成的數(shù)組 上面的2種定義數(shù)組的方法到底

大家在學(xué)習(xí)javascript中對于數(shù)組函數(shù)new Array()和var arr=[]很多朋友不知道如何區(qū)別,也不知道用法,下面看看我們總結(jié)的。

var arr=[]

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

var arr=new Array()

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

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

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

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

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

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

首先從功能上來說 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個數(shù)組中每個元素都是一個數(shù)組,可以依次注釋任意一行代碼,我大概測試10多次以上

結(jié)果

36**
36**

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

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

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

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

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

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

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

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

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

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

list[0] = 0;

list[1] = 1;

list[2] = 2;

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

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

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

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

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

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

6splice(start,deleteCount,val1,val2,...):從start位置開始刪除deleteCount項,并從該位置起插入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ù)對數(shù)組進行排序
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ù)組中指定開始下標到結(jié)束下標之間的項組成的新數(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ù)組的元素組起一個字符串,以separator為分隔符,省略的話則用默認用逗號為分隔符
var a = [1,2,3,4,5];
var b = a.join("|"); //a:[1,2,3,4,5] b:"1|2|3|4|5"

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

javascript中new Array()和var arr=[]用法區(qū)別

javascript中new Array()和var arr=[]用法區(qū)別:大家在學(xué)習(xí)javascript中對于數(shù)組函數(shù)new Array()和var arr=[]很多朋友不知道如何區(qū)別,也不知道用法,下面看看我們總結(jié)的。 var arr=[] 這是一種字面量定義數(shù)組的方法 var arr=new Array() 這是調(diào)用數(shù)組構(gòu)造函數(shù)生成的數(shù)組 上面的2種定義數(shù)組的方法到底
推薦度:
標簽: 區(qū)別 用法 js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top