欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

javascript中數組與對象的使用方法區(qū)別

 更新時間:2022年12月14日 15:03:20   投稿:yin  
數組(array)是按次序排列的一組值。JS其實沒有真正的數組,只是用對象模擬數組。本質上,數組屬于一種特殊的對象。typeof運算符會返回數組的類型是object。在javascript中,數組又可以認為是索引數組,即可以用整數來進行索引。數組和對象在這種情況下非常接近。

數組(array)是按次序排列的一組值。JS其實沒有真正的數組,只是用對象模擬數組。本質上,數組屬于一種特殊的對象。typeof運算符會返回數組的類型是object。

在javascript中,對象被定義為屬性和值的集合。最直接的表現便是對象字面量:var obj={a:3,b:"hello",c:[1,2,3]}。相比傳統(tǒng)的面向對象的語言,這種方式大大簡化的對象創(chuàng)建。在這種情況下,javascript的對象其實就是一個關聯數組。在javascript中,數組又可以認為是索引數組,即可以用整數來進行索引。數組和對象在這種情況下非常接近。

一、JS聲明對象或數組

JS對象:{ }  JS數組:[ ]

對象       var b={m:'123',n:'abc'};alert(b.m);alert(b.n);

一維數組     var a=[1,2,3];alert(a[1]);alert(a.length);
二維數組     var ar = [ [ 'a' , 'b'],[ 4, 5 , 6 , 5 ],[ 7, 8 , 9 ] ];alert(ar[1].length);

對象跟數組結合  var b={m:[{f:'123'},{g:'abc'}],n:[{h:'456'},{u:'098'}]};alert(b.m[0].f);

數組跟對象結合  var b=[{m:'abc',n:'fff'},{x:'123',y:'555'}];alert(b[1].x);

二、數組”(array)和“對象”(object)兩者都可以用來表示數據的集合。

比如數組a=[1,2,3,4],和對象a={0:1,1:2,2:3,3:4},運行alert(a[1])兩種結果是相同的。

這就是說,數據集合既可以用數組表示,也可以用對象表示,那么我到底該用哪一種呢?

三、數組和對象的使用方法區(qū)別:

(1)創(chuàng)建方式不同:

數組表示有序數據的集合,而對象表示無序數據的集合。數組的數據沒有”名稱”(name),對象的數據有”名稱”(name)。

var arr = [11,22,33,44,55];
var obj = {
    attr1:'01',
    attr2:'02',
    attr3:'03',
    attr4:'04',
    attr5:'05'
}

(2)調用方法不同

對象的屬性可以用點號和中括號(注意中括號內是字符串表達式,要加引號)來引用,而數組的元素使用中括號來引用。

console.dir(arr[1]);
console.dir(obj.attr1);
console.dir(obj['attr1']);

(3)對象鍵值唯一,數組可以重復

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)數組和對象都可以使用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]);    // 值

}

到此這篇關于javascript中數組與對象的使用方法區(qū)別的文章就介紹到這了,更多相關js數組與對象區(qū)別內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • javascript this用法小結

    javascript this用法小結

    this是JavaScript中功能最強大的關鍵字之一。不幸的是,如果你不知道它具體怎么工作,你將很難正確使用它。
    2008-12-12
  • @ResponseBody 和 @RequestBody 注解的區(qū)別

    @ResponseBody 和 @RequestBody 注解的區(qū)別

    這篇文章主要介紹了@ResponseBody 和 @RequestBody 注解的區(qū)別的相關資料,需要的朋友可以參考下
    2017-03-03
  • javascript 彈出的窗口返回值給父窗口具體實現

    javascript 彈出的窗口返回值給父窗口具體實現

    這篇文章主要介紹了javascript 彈出的窗口返回值給父窗口具體實現,有需要的朋友可以參考一下
    2013-11-11
  • Bootstrap select實現下拉框多選效果

    Bootstrap select實現下拉框多選效果

    這篇文章主要為大家詳細介紹了Bootstrap select實現下拉框多選效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • js實現文字頭像的生成代碼

    js實現文字頭像的生成代碼

    這篇文章主要介紹了js實現文字頭像的生成的代碼,代碼簡單易懂,非常不錯,對大家的工作或學習具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-03-03
  • JavaScript改變CSS樣式的方法匯總

    JavaScript改變CSS樣式的方法匯總

    JavaScript修改CSS有4種方法:1.修改節(jié)點style(內聯樣式);2.改變節(jié)點class或id;3.寫入新的css;4.替換頁面中的樣式表。今天主要給大家介紹下前2種,因為后兩種個人不是很推薦大家使用
    2015-05-05
  • Svelte?和?React的比較詳解(一)

    Svelte?和?React的比較詳解(一)

    在這篇文章中,我將Svelte?還是?React作了對比,不能以個人意見代表誰好誰壞。以及我發(fā)現使用這兩個框架的一些區(qū)別,感興趣的小伙伴可以參考閱讀
    2023-04-04
  • 深入php面向對象、模式與實踐

    深入php面向對象、模式與實踐

    這篇文章主要介紹了深入php面向對象、模式與實踐,需要的朋友可以參考下
    2016-02-02
  • 微信小程序實現橫向滾動導航欄效果

    微信小程序實現橫向滾動導航欄效果

    這篇文章主要介紹了微信小程序實現橫向滾動導航欄效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • 復選框全選與全不選操作實現思路

    復選框全選與全不選操作實現思路

    通過js簡單實現下復選框全選與全不選,很常用的一個操作,具體實現思路及代碼如下,有需求的朋友可以參考下,希望對大家有所幫助
    2013-08-08

最新評論