亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

JavaScript中的數組特性介紹

2019-11-20 13:33:37
字體:
來源:轉載
供稿:網友

與Java語言不同,JavaScript中的數組擁有三個特性:

 

1.無類型。數組的成員可以是任何類型,同一個數組也可以由很多不同類型的成員所組成。
2.長度可變。數組的長度是可以動態變化的,因此在JavaScript中不存在數組訪問的越界問題。
3.不連續性。數組中成員的位置可以是連續的(0, 1, 2, 3…),也可以是不連續的。任何數組都有一個名為length的屬性,在數組成員連續的情況下,length值與數組成員數目一致;當數組成員不連續時,length值要大于數組成員的數目。與連續的數組相比,不連續數組的讀寫性能要差一些。

 

實驗:


復制代碼 代碼如下:

var o = [42, "Sample Text", {x:88}];//JavaScript array is un-typed.
console.log(o);//[42, "Sample Text", Object {x=88}]
o[3] = 27;//JavaScript array is dynamic.
console.log(o);//[42, "Sample Text", Object {x=88}, 27]
o[5] = 99;//JavaScript array is sparse.
console.log(o);//[42, "Sample Text", Object {x=88}, 27, undefined, 99]


從上面的例子中可以看到,對于不連續的數組,當訪問到缺失的那個成員時,JavaScript將返回undefined。如果數組連續,但是其中某個成員為undefined,那么訪問數組的結果是一樣的:


復制代碼 代碼如下:

var a = [42, "Sample Text", {x:88}, 27, undefined, 99];
console.log(a);//[42, "Sample Text", Object {x=88}, 27, undefined, 99]


數組不連續、有成員缺失,跟數組連續、但有成員為undefined,這兩種情況下訪問數組內容所得到的結果是一樣的。但在這兩者之間還是存在一些細微的差別,主要表現在對數組key的訪問上:


復制代碼 代碼如下:

console.log(4 in o);//false
console.log(4 in a);//true


可以看到,這兩種情況下雖然訪問內容所得到的結果一致,但是其內部機制是完全不同的:在數組不連續的情況下,某個成員缺失,因此當訪問該成員時,JavaScript返回了undefined;在數組連續的情況下,所有的成員都存在,只是某些成員的值比較特殊,為undefined而已。

從上面的例子中也可以看到,JavaScript中的數組究其本質只是以數字為key的對象而已,與普通的鍵值對對象沒有任何差別。事實上,在對數組進行讀取和寫入操作時,JavaScript會試圖將參數轉換為正整數,如果轉換成功則將進行數組操作(自動更新數組的length屬性),如果失敗則將參數轉換成字符串后進行普通對象的讀寫操作。當然,在JavaScrpt解釋器的實現中,針對數組的這種以數字作為key的特性作了很多性能優化,因此在實際使用過程中,如果對象的key都是數字,那么直接使用數組對象會得到更加高效的結果。

在對數組進行定義的過程中,JavaScript允許出現多余的逗號,也允許兩個逗號間出現數組成員的缺失:


復制代碼 代碼如下:

var x = [1,2,3,];//trailing comma will be omitted.
console.log(x.length);//3
        
var y = [1,,3];//member can be missed.
console.log(y);//[1, undefined, 3]
console.log(1 in y);//false
console.log(y.length);//3


對于數組的創建,JavaScript支持四種方法:

1.使用字面量(如上述幾個例子中的中括號表達式)來直接創建數組對象。
2.使用Array()構造函數,不傳入任何參數。在這種情況下,將創建一個空數組,其效果與[]等同。
3.使用Array()構造函數,傳入一個正整數作為數組的長度。在這種情況下,JavaScript將預留相應的內存空間來存儲這個數組。值得注意的是,此時數組的key都是沒有被定義的,也即數組中沒有任何成員。其效果與[,,,,]這樣的寫法等同
4.使用Array()構造函數,傳入數組的成員。

實驗:


復制代碼 代碼如下:

var z = new Array(10);//pre-allocate memory, but no index is defined yet.
console.log(3 in z);//false

var m = new Array(42, 33, 99, "test", {k:99});
console.log(m);//[42, 33, 99, "test", Object {k=99}]


在ECMAScript 5標準中,可以用Array.isArray()來判斷某個對象是否是數組:
復制代碼 代碼如下:

Array.isArray([]);//true
Array.isArray({});//false

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产丝袜精品第一页| 国产精品自拍网| 欧美日韩福利电影| 国产精品视频一区二区高潮| 亚洲性生活视频在线观看| 亚洲乱码国产乱码精品精| 自拍偷拍亚洲区| 亚洲国产精品va在线看黑人动漫| 日韩视频在线观看免费| 精品久久久国产精品999| 亚洲激情视频在线观看| 国产精品流白浆视频| 成人国产精品久久久| 国产一区二区三区直播精品电影| 啪一啪鲁一鲁2019在线视频| 亚洲精品久久7777777| 国产精品羞羞答答| 欧美成人免费大片| 91亚洲精品久久久久久久久久久久| 最新69国产成人精品视频免费| 最近2019好看的中文字幕免费| 国产亚洲欧美日韩精品| 亚洲春色另类小说| 中日韩午夜理伦电影免费| 欧美亚州一区二区三区| 亚洲人精选亚洲人成在线| 色中色综合影院手机版在线观看| 亚洲人成自拍网站| 亚洲精品自在久久| 久久久久久久久久久久久久久久久久av| 国产在线视频2019最新视频| 国产精品青青在线观看爽香蕉| 亚洲精品永久免费精品| 日韩精品视频在线观看网址| 国产精品av网站| 久久99国产综合精品女同| 日韩精品亚洲精品| 欧美电影院免费观看| 久久资源免费视频| 国产一区二区三区视频在线观看| 亚洲性猛交xxxxwww| 97视频在线观看亚洲| 亚洲欧洲高清在线| 国产精品色视频| 色吧影院999| 欧美老妇交乱视频| 国产美女高潮久久白浆| 亚洲japanese制服美女| 亚洲色图13p| 国产精品对白刺激| 精品色蜜蜜精品视频在线观看| 亚洲区免费影片| 欧美不卡视频一区发布| 国产精品色午夜在线观看| 亚洲毛片在线观看.| 国产欧美婷婷中文| 国产精品吴梦梦| 欧美日韩国产123| 日韩国产一区三区| 亚洲国产另类久久精品| 亚洲欧美日韩天堂一区二区| 久久久人成影片一区二区三区观看| 韩国福利视频一区| 欧美在线一级视频| 亚洲在线视频福利| 日韩在线中文视频| 97国产在线视频| 欧美与欧洲交xxxx免费观看| 九色精品免费永久在线| 色多多国产成人永久免费网站| 亚洲欧美中文日韩在线v日本| 久久久精品视频成人| 亚洲国产第一页| 国产在线观看精品一区二区三区| 亚洲最大福利视频网站| 日韩av资源在线播放| 成人444kkkk在线观看| 亚洲天堂2020| 中文字幕自拍vr一区二区三区| 日韩美女在线看| 日韩一区视频在线| 色琪琪综合男人的天堂aⅴ视频| 91成人在线视频| 日产精品久久久一区二区福利| 97色在线播放视频| 亚洲欧洲国产伦综合| 福利微拍一区二区| 亚洲人成网站在线播| 色一情一乱一区二区| 亚洲欧美在线x视频| 欧美理论电影在线播放| 国产丝袜视频一区| 国产精品视频资源| 一区二区三区四区视频| 国产精品久久久91| 国产精品久久一区| 日韩av在线免费| 日韩在线观看av| 97在线日本国产| 91精品视频在线免费观看| 欧美成年人在线观看| 成人黄色免费网站在线观看| 欧美在线观看日本一区| 亚洲欧美中文日韩v在线观看| 欧美在线一级va免费观看| 欧美性jizz18性欧美| 日韩免费在线电影| 国产成一区二区| 欧美裸体男粗大视频在线观看| 亚洲激情国产精品| 亚洲va欧美va国产综合久久| 在线电影中文日韩| 在线观看欧美成人| 最近中文字幕日韩精品| 岛国视频午夜一区免费在线观看| 欧美激情啊啊啊| 国产精品∨欧美精品v日韩精品| 欧美另类69精品久久久久9999| 色偷偷噜噜噜亚洲男人| 日韩av一区二区在线观看| 亚洲天天在线日亚洲洲精| 国产精品第三页| 欧美丰满少妇xxxxx| 日韩电影免费观看中文字幕| 激情av一区二区| 美女性感视频久久久| 国产在线观看精品一区二区三区| 国产精欧美一区二区三区| 亚洲免费福利视频| 国产一区二区丝袜高跟鞋图片| 欧美日韩精品在线观看| 2018中文字幕一区二区三区| 久久久日本电影| 国产精选久久久久久| 精品香蕉一区二区三区| 亚洲丝袜在线视频| 国产亚洲美女久久| 国产精品久久久久久av| 亚洲专区在线视频| 国内精品久久久久久| 欧美精品在线播放| 亚洲裸体xxxx| 日韩成人网免费视频| 欧美日韩亚洲激情| 成人精品aaaa网站| 国产精品91久久| 日韩高清a**址| 亚洲成人精品av| 午夜精品久久久99热福利| 亚洲视屏在线播放| 久久国产精品久久久久久久久久| 亚洲福利在线看| 欧美日韩综合视频网址| 亚洲精品午夜精品| 精品久久中文字幕| 国内免费久久久久久久久久久| 91高清视频在线免费观看| 日韩女在线观看| 欧美成人小视频| 精品小视频在线| 亚洲国产成人av在线| 日本韩国欧美精品大片卡二| 亚洲综合色激情五月| 日韩在线欧美在线国产在线|