国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript中關(guān)于創(chuàng)建和使用array數(shù)組的探討

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 20:16:06
文檔

JavaScript中關(guān)于創(chuàng)建和使用array數(shù)組的探討

JavaScript中關(guān)于創(chuàng)建和使用array數(shù)組的探討:數(shù)組是一組按序排列的值,相對地,對象的屬性名稱是無序的。從本質(zhì)上講,數(shù)組使用數(shù)字作為查找鍵,而對象擁有用戶自定義的屬性名。javascript沒有真正的關(guān)聯(lián)數(shù)組,但對象可用于實現(xiàn)關(guān)聯(lián)的功能Array()僅僅是一種特殊類型的Object(),也就是說,Array()
推薦度:
導讀JavaScript中關(guān)于創(chuàng)建和使用array數(shù)組的探討:數(shù)組是一組按序排列的值,相對地,對象的屬性名稱是無序的。從本質(zhì)上講,數(shù)組使用數(shù)字作為查找鍵,而對象擁有用戶自定義的屬性名。javascript沒有真正的關(guān)聯(lián)數(shù)組,但對象可用于實現(xiàn)關(guān)聯(lián)的功能Array()僅僅是一種特殊類型的Object(),也就是說,Array()

數(shù)組是一組按序排列的值,相對地,對象的屬性名稱是無序的。從本質(zhì)上講,數(shù)組使用數(shù)字作為查找鍵,而對象擁有用戶自定義的屬性名。javascript沒有真正的關(guān)聯(lián)數(shù)組,但對象可用于實現(xiàn)關(guān)聯(lián)的功能

Array()僅僅是一種特殊類型的Object(),也就是說,Array()實例基本上是擁有一些額外功能的Object()實例。數(shù)組可以保存任何類型的值,這些值可以隨時更新或刪除,且數(shù)組的大小是動態(tài)調(diào)整的

除了對象之外,數(shù)組Array類型可能是javascript中最常用的類型了。而且,javascript中的數(shù)組與其他多數(shù)語言中的數(shù)組有著相當大的區(qū)別。本文將介紹javascript中的數(shù)組Array類型

創(chuàng)建數(shù)組

  有兩種創(chuàng)建數(shù)組的方法:使用字面量語法和使用Array()構(gòu)造函數(shù)

【字面量】

使用數(shù)組字面量是創(chuàng)建數(shù)組最簡單的方法,在方括號中將數(shù)組元素用逗號隔開即可

雖然javascript數(shù)組與其他語言中的數(shù)組都是數(shù)據(jù)的有序列表,但與其他語言不同的是,javascript數(shù)組的每一項可以保存任何類型的數(shù)據(jù)

數(shù)組字面量中的值不一定要是常量,它們可以是任意的表達式

它可以包含對象字面量或其他數(shù)組字面量

如果數(shù)組的元素還是數(shù)組,就形成了多維數(shù)組

[注意]使用數(shù)字字面量表示法時,不會調(diào)用Array構(gòu)造函數(shù)

【構(gòu)造函數(shù)】

  有三種方式調(diào)用構(gòu)造函數(shù)

  【1】沒有參數(shù),創(chuàng)建一個空數(shù)組

  【2】有一個數(shù)值參數(shù),該參數(shù)用于指定數(shù)組的長度

  [注意]若存在一個其他類型的參數(shù),則會創(chuàng)建包含那個值的只有一項的數(shù)組

  【3】有多個參數(shù)時,參數(shù)表示為數(shù)組的具體元素

  使用Array()構(gòu)造函數(shù)時,可以省略new操作符

數(shù)組本質(zhì)

  數(shù)組是按次序排列的一組值,本質(zhì)上,數(shù)組是一種特殊的對象

  數(shù)組的特殊性體現(xiàn)在,它的鍵名是按次序排列的一組整數(shù)(0,1,2…)。由于數(shù)組成員的鍵名是固定的,因此數(shù)組不用為每個元素指定鍵名,而對象的每個成員都必須指定鍵名

  數(shù)組是對象的特殊形式,使用方括號訪問數(shù)組元素就像用方括號訪問對象的屬性一樣

  javascript語言規(guī)定,對象的鍵名一律為字符串,所以,數(shù)組的鍵名其實也是字符串。之所以可以用數(shù)值讀取,是因為非字符串的鍵名會被轉(zhuǎn)為字符串,然后將其作為屬性名來使用

  但是,一定要區(qū)分數(shù)組索引和對象的屬性名:所有的索引都是屬性名,但只有在0~232-2(4294967294)之間的整數(shù)屬性名才是索引

  [注意]單獨的數(shù)值不能作為標識符(identifier)。所以,數(shù)組成員只能用方括號法表示

 可以使用負數(shù)或非整數(shù)來索引數(shù)組。但由于其不在0~2的32次方-2的范圍內(nèi),所以其只是數(shù)組的屬性名,而不是數(shù)組的索引,明顯的特征是不改變數(shù)組的長度

數(shù)組長度

  每個數(shù)組有一個length屬性,就是這個屬性使其區(qū)別于常規(guī)的JavaScript對象。針對稠密(也就是非稀疏)數(shù)組,length屬性值代表數(shù)組中元素的個數(shù),其值比數(shù)組中最大的索引大1

  當數(shù)組是稀疏數(shù)組時,length屬性值大于元素的個數(shù),同樣地,其值比數(shù)組中最大的索引大1

 數(shù)組的特殊性主要體現(xiàn)在數(shù)組長度是可以動態(tài)調(diào)整的:

  【1】如果為一個數(shù)組元素賦值,索引i大于等于現(xiàn)有數(shù)組的長度時,length屬性的值將設(shè)置為i+1

  【2】設(shè)置length屬性為小于當前長度的非負整數(shù)n時,當前數(shù)組索引值大于等于n的元素將從中刪除

  【3】將數(shù)組的length屬性值設(shè)置為大于其當前的長度。實際上這不會向數(shù)組中添加新的元素,它只是在數(shù)組尾部創(chuàng)建一個空的區(qū)域

  如果人為設(shè)置length為不合法的值(即0——232-2范圍以外的值),javascript會報錯

  由于數(shù)組本質(zhì)上是對象,所以可以為數(shù)組添加屬性,但是這不影響length屬性的值

數(shù)組遍歷

  使用for循環(huán)遍歷數(shù)組元素最常見的方法

  當然,也可以使用while循環(huán)

  但如果數(shù)組是稀疏數(shù)組時,使用for循環(huán),就需要添加一些條件

  還可以使用for/in循環(huán)處理稀疏數(shù)組。循環(huán)每次將一個可枚舉的屬性名(包括數(shù)組索引)賦值給循環(huán)變量。不存在的索引將不會遍歷到

  由于for/in循環(huán)能夠枚舉繼承的屬性名,如添加到Array.prototype中的方法。由于這個原因,在數(shù)組上不應該使用for/in循環(huán),除非使用額外的檢測方法來過濾不想要的屬性

  javascript規(guī)范允許for/in循環(huán)以不同的順序遍歷對象的屬性。通常數(shù)組元素的遍歷實現(xiàn)是升序的,但不能保證一定是這樣的。特別地,如果數(shù)組同時擁有對象屬性和數(shù)組元素,返回的屬性名很可能是按照創(chuàng)建的順序而非數(shù)值的大小順序。如果算法依賴于遍歷的順序,那么最好不要使用for/in而用常規(guī)的for循環(huán)

  有三個常見的類數(shù)組對象:

  【1】arguments對象

  【2】DOM方法(如document.getElementsByTagName()方法)返回的對象

  【3】字符串

  [注意]字符串是不可變值,故當把它們作為數(shù)組看待時,它們是只讀的。如push()、sort()、reverse()、splice()等數(shù)組方法會修改數(shù)組,它們在字符串上是無效的,且會報錯

  數(shù)組的slice方法將類數(shù)組對象變成真正的數(shù)組

  javascript數(shù)組方法是特意定義為通用的,因此它們不僅應用在真正的數(shù)組而且在類數(shù)組對象上都能正確工作。在ECMAScript5中,所有的數(shù)組方法都是通用的。在ECMAScript3中,除了toString()和toLocaleString()以外的所有方法也是通用的

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

文檔

JavaScript中關(guān)于創(chuàng)建和使用array數(shù)組的探討

JavaScript中關(guān)于創(chuàng)建和使用array數(shù)組的探討:數(shù)組是一組按序排列的值,相對地,對象的屬性名稱是無序的。從本質(zhì)上講,數(shù)組使用數(shù)字作為查找鍵,而對象擁有用戶自定義的屬性名。javascript沒有真正的關(guān)聯(lián)數(shù)組,但對象可用于實現(xiàn)關(guān)聯(lián)的功能Array()僅僅是一種特殊類型的Object(),也就是說,Array()
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 国产美女一级特黄毛片 | 一级毛片免费毛片一级毛片免费 | 亚洲成人免费 | 国产网站在线 | 国产精品久久久久久久久免费 | 日韩欧美在线综合网高清 | 国产第4页 | 亚洲精国产一区二区三区 | 国产视频播放 | 国产未成女年一区二区 | 亚洲欧美日韩专区 | 亚洲国产成人久久午夜 | 亚洲第一页在线播放 | 极品美女aⅴ高清在线观看 激情综合久久 | 日韩国产综合 | 国产一区二区视频在线 | 亚洲综合日韩在线亚洲欧美专区 | 欧美精品一区二区三区免费观看 | 精品在线免费播放 | 日本亲与子乱ay中文 | 国产日韩一区二区 | 日韩直播 | 成人三级在线观看 | 国产va在线视频观看 | 国产一区二区自拍视频 | 成人区精品一区二区毛片不卡 | 九九久久亚洲综合久久久 | 深夜福利一区二区 | 免费在线一级毛片 | 日韩精品亚洲电影天堂 | 亚洲精品乱码久久久久久v 亚洲精品免费观看 | 久久精品最新免费国产成人 | 国产精品ⅴ视频免费观看 | 国产成人99久久亚洲综合精品 | 国产精品久久久久久久久久免费 | 欧美一区二区三区在线视频 | 欧美日韩精品一区二区三区四区 | 可以免费观看的毛片 | 亚洲欧美日韩中文字幕在线 | 亚洲第一页中文字幕 | 亚洲国产成人久久一区www |