javascript中數(shù)組與對象的使用方法區(qū)別
數(shù)組(array)是按次序排列的一組值。JS其實沒有真正的數(shù)組,只是用對象模擬數(shù)組。本質(zhì)上,數(shù)組屬于一種特殊的對象。typeof運算符會返回數(shù)組的類型是object。
在javascript中,對象被定義為屬性和值的集合。最直接的表現(xiàn)便是對象字面量:var obj={a:3,b:"hello",c:[1,2,3]}。相比傳統(tǒng)的面向?qū)ο蟮恼Z言,這種方式大大簡化的對象創(chuàng)建。在這種情況下,javascript的對象其實就是一個關(guān)聯(lián)數(shù)組。在javascript中,數(shù)組又可以認為是索引數(shù)組,即可以用整數(shù)來進行索引。數(shù)組和對象在這種情況下非常接近。
一、JS聲明對象或數(shù)組
JS對象:{ } JS數(shù)組:[ ]
對象 var b={m:'123',n:'abc'};alert(b.m);alert(b.n);
一維數(shù)組 var a=[1,2,3];alert(a[1]);alert(a.length);
二維數(shù)組 var ar = [ [ 'a' , 'b'],[ 4, 5 , 6 , 5 ],[ 7, 8 , 9 ] ];alert(ar[1].length);
對象跟數(shù)組結(jié)合 var b={m:[{f:'123'},{g:'abc'}],n:[{h:'456'},{u:'098'}]};alert(b.m[0].f);
數(shù)組跟對象結(jié)合 var b=[{m:'abc',n:'fff'},{x:'123',y:'555'}];alert(b[1].x);
二、數(shù)組”(array)和“對象”(object)兩者都可以用來表示數(shù)據(jù)的集合。
比如數(shù)組a=[1,2,3,4],和對象a={0:1,1:2,2:3,3:4},運行alert(a[1])兩種結(jié)果是相同的。
這就是說,數(shù)據(jù)集合既可以用數(shù)組表示,也可以用對象表示,那么我到底該用哪一種呢?
三、數(shù)組和對象的使用方法區(qū)別:
(1)創(chuàng)建方式不同:
數(shù)組表示有序數(shù)據(jù)的集合,而對象表示無序數(shù)據(jù)的集合。數(shù)組的數(shù)據(jù)沒有”名稱”(name),對象的數(shù)據(jù)有”名稱”(name)。
var arr = [11,22,33,44,55];
var obj = {
attr1:'01',
attr2:'02',
attr3:'03',
attr4:'04',
attr5:'05'
}(2)調(diào)用方法不同
對象的屬性可以用點號和中括號(注意中括號內(nèi)是字符串表達式,要加引號)來引用,而數(shù)組的元素使用中括號來引用。
console.dir(arr[1]); console.dir(obj.attr1); console.dir(obj['attr1']);
(3)對象鍵值唯一,數(shù)組可以重復
var arr = [11,11,33,44,55];
var obj = {
attr1:'01',
attr2:'02',
attr3:'03',
attr4:'04',
attr5:'05',
attr1:"00"
}
console.dir(arr);
console.dir(obj);(4)對象沒有長度,不能用for循環(huán)
// 對象沒有長度
console.dir(arr.length); //
console.dir(obj.length); // undefined
for (var i = 0; i <arr.length; i++) {
console.dir(arr[i]);
}(5)數(shù)組和對象都可以使用for...in 循環(huán)
for(var index in arr){
console.dir(index); // 屬性
console.dir(arr[index]); // 值
}
for(var attr in obj){
console.dir(attr); // 屬性
console.dir(obj[attr]); // 值
}到此這篇關(guān)于javascript中數(shù)組與對象的使用方法區(qū)別的文章就介紹到這了,更多相關(guān)js數(shù)組與對象區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
js實現(xiàn)點擊切換checkbox背景圖片的簡單實例
下面小編就為大家?guī)硪黄猨s實現(xiàn)點擊切換checkbox背景圖片的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-05-05
淺談JavaScript超時調(diào)用和間歇調(diào)用
JavaScript是單線程語言,但它允許通過設(shè)置超時值和間歇時間值來調(diào)度代碼在特定的時刻執(zhí)行。前者是在指定的時間過后執(zhí)行代碼,而后者則是每隔指定的時間就執(zhí)行一次代碼。2015-08-08
unapp微信小程序轉(zhuǎn)發(fā)分享及攜帶參數(shù)的2種方式
這篇文章主要給大家介紹了關(guān)于unapp微信小程序轉(zhuǎn)發(fā)分享及攜帶參數(shù)的2種方式,我們在微信小程序中經(jīng)常會使用到分享商品海報,或者是重繪微信小程序分享鏈的圖片功能,需要的朋友可以參考下2023-11-11

