400-650-7353
您所在的位置:首頁(yè) > IT干貨資料 > web前端 > 【W(wǎng)eb前端基礎(chǔ)知識(shí)】如何構(gòu)造Array數(shù)組函數(shù)

【W(wǎng)eb前端基礎(chǔ)知識(shí)】如何構(gòu)造Array數(shù)組函數(shù)

  • 發(fā)布: Web前端培訓(xùn)
  • 來(lái)源:Web前端干貨資料
  • 2021-02-25 10:27:55
  • 閱讀()
  • 分享
  • 手機(jī)端入口

數(shù)組(Array)在前端開(kāi)發(fā)中經(jīng)常使用,今天我們來(lái)學(xué)習(xí)下數(shù)組。我們從Array創(chuàng)建方式(構(gòu)造函數(shù)、字面量),實(shí)例方法等方面來(lái)學(xué)習(xí)Array。

構(gòu)造函數(shù)。

Array是 JavaScript 的原生對(duì)象,同時(shí)也是一個(gè)構(gòu)造函數(shù),可以用它生成新的數(shù)組。

  1. var arr = new Array(2); 
  2. console.log(arr.length); // 2 
  3. console.log(arr); // [ empty x 2 ] 

在上面代碼中,Array構(gòu)造函數(shù)的參數(shù)2,表示生成一個(gè)兩個(gè)成員的數(shù)組,每個(gè)位置都是空值。

【W(wǎng)eb前端基礎(chǔ)】如何構(gòu)造Array數(shù)組函數(shù)

如果沒(méi)有使用new,運(yùn)行結(jié)果也是一樣的。也就是 var arr = new Array(2); 等同于 var arr = Array(2);

Array構(gòu)造函數(shù)有一個(gè)很大的缺陷,就是不同的參數(shù),會(huì)導(dǎo)致它的行為不一致。

  1. // 無(wú)參數(shù)時(shí),返回一個(gè)空數(shù)組 
  2. new Array() // [] 
  3. ​ 
  4. // 單個(gè)正整數(shù)參數(shù),表示返回的新數(shù)組的長(zhǎng)度 
  5. new Array(1) // [ empty ] 
  6. new Array(2) // [ empty x 2 ] 
  7. ​ 
  8. // 非正整數(shù)的數(shù)值作為參數(shù),會(huì)報(bào)錯(cuò) 
  9. new Array(3.2) // RangeError: Invalid array length 
  10. new Array(-3) // RangeError: Invalid array length 
  11. ​ 
  12. // 單個(gè)非數(shù)值(比如字符串、布爾值、對(duì)象等)作為參數(shù),則該參數(shù)是返回的新數(shù)組的成員 
  13. new Array('abc') // ['abc'] 
  14. new Array([1]) // [Array[1]] 
  15. ​ 
  16. // 多參數(shù)時(shí),所有參數(shù)都是返回的新數(shù)組的成員 
  17. new Array(1, 2) // [1, 2] 
  18. new Array('a', 'b', 'c') // ['a', 'b', 'c'] 

使用構(gòu)造函數(shù)Array創(chuàng)建數(shù)組,不傳參數(shù),會(huì)得到一個(gè)空數(shù)組;如果參數(shù)只有一個(gè)而且參數(shù)為正整數(shù),表示新數(shù)組的長(zhǎng)度;如果使用非正整數(shù)作為參數(shù),會(huì)報(bào)錯(cuò);如果單個(gè)非數(shù)字作為參數(shù),那么這個(gè)參數(shù)就是新數(shù)組的成員;如果是多個(gè)參數(shù),那么所有的參數(shù)都是新數(shù)組的成員。

通過(guò)上面的代碼,可以看到,Array作為構(gòu)造函數(shù),行為很不一致。因此,不建議使用它生成新數(shù)組,直接使用數(shù)組字面量是更好的做法,而我們?cè)陂_(kāi)發(fā)中更多的也是使用字面量形式創(chuàng)建數(shù)組。比如下面的代碼:

  1. // 構(gòu)造函數(shù)形式 
  2. var arr = new Array(1, 2, 3); 
  3. ​ 
  4. // 字面量形式 
  5. var arr = [1, 2, 3]; 

 

文章“【W(wǎng)eb前端基礎(chǔ)知識(shí)】如何構(gòu)造Array數(shù)組函數(shù)”已幫助

>>本文地址:http://liujunjsxg.cn/zhuanye/2021/67118.html

THE END  

聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。

1 您的年齡

2 您的學(xué)歷

3 您更想做哪個(gè)方向的工作?

獲取測(cè)試結(jié)果
  • 大前端大前端
  • 大數(shù)據(jù)大數(shù)據(jù)
  • 互聯(lián)網(wǎng)營(yíng)銷互聯(lián)網(wǎng)營(yíng)銷
  • JavaJava
  • Linux云計(jì)算Linux
  • Python+人工智能Python
  • 嵌入式物聯(lián)網(wǎng)嵌入式
  • 全域電商運(yùn)營(yíng)全域電商運(yùn)營(yíng)
  • 軟件測(cè)試軟件測(cè)試
  • 室內(nèi)設(shè)計(jì)室內(nèi)設(shè)計(jì)
  • 平面設(shè)計(jì)平面設(shè)計(jì)
  • 電商設(shè)計(jì)電商設(shè)計(jì)
  • 網(wǎng)頁(yè)設(shè)計(jì)網(wǎng)頁(yè)設(shè)計(jì)
  • 全鏈路UI/UE設(shè)計(jì)UI設(shè)計(jì)
  • VR/AR游戲開(kāi)發(fā)VR/AR
  • 網(wǎng)絡(luò)安全網(wǎng)絡(luò)安全
  • 新媒體與短視頻運(yùn)營(yíng)新媒體
  • 直播帶貨直播帶貨
  • 智能機(jī)器人軟件開(kāi)發(fā)智能機(jī)器人
 

快速通道fast track

近期開(kāi)班時(shí)間TIME