1. 程式人生 > >js中陣列(array)和物件(object)的區別

js中陣列(array)和物件(object)的區別

  • object 型別:
    • 建立方式:
      • /*new 操作符後面Object建構函式*/
        var person = new Object();
        person.name = "lpove";
        person.age = 21;
        /*或者用物件字面量的方法*/
        var person = {
        name: "lpove";
        age : 21;
        }
      • -
  • array型別

    • 建立方式:
      • `var colors = new Array(“red”,”blue”,”yellow”);
  • 區別和不解

    • 比如有一個數組a=[1,2,3,4],還有一個物件a={0:1,1:2,2:3,3:4},然後你執行alert(a[1]),兩種情況下的執行結果是相同的!這就是說,資料集合既可以用陣列表示,也可以用物件表示,那麼我到底該用哪一種呢?

      我後來才知道,陣列表示有序資料的集合,而物件表示無序資料的集合。如果資料的順序很重要,就用陣列,否則就用物件。

      當然,陣列和物件的另一個區別是,陣列的資料沒有”名稱”(name),物件的資料有”名稱”(name)。

      但是問題是,很多程式語言中,都有一種叫做”關聯陣列”(associative array)的東西。這種陣列中的資料是有名稱的。

  • 但是在《javascript DOM》中,不推薦我們使用 關聯陣列;

    • 關聯陣列:
      • var lpove = Array();
        lpove[name] = "lei";
        lpove[age] = 21;
        lpove[living] = true;
/*物件構造*/
    var lpove = Object();
        lpove.name = "lei";
        lpove.age  = 21;
        lpove.living = true;
 - 因為在本質上你建立的關聯陣列的性質就是Array物件的屬性

相關推薦

js陣列array物件object區別

object 型別: 建立方式: /*new 操作符後面Object建構函式*/ var person = new Object(); person.name = "lpove"; pers

js關於this的理解應用選項卡

this的定義:在JavaScript中this表示函式執行的時候自動生成的一個內部物件,只能在函式內部使用。 簡單例子 <script type="text/javascript"> alert(this); //window &

js陣列的棧方法佇列方法

1.棧方法 ECMAScript陣列提供了一種讓陣列的行為類似於其他資料結構的方法。具體來說,陣列可以表現的就像棧一樣(棧是一種可以限制插入和刪除的資料結構)。 棧是一種LIFO(Last-In-First-Out,後進先出)的資料結構。棧中項的插入和移除只發生再一個位置,就是棧的頂部

[js]js變量帶var不帶var的區別

code scrip window div 分享 全局變量 賦值 blog error: 上圖已說的很清晰了. 下面代碼是贅述 <script> //帶var和不帶var的區別: // 1.只有帶var的才可以預解釋,所以在賦值的前操作不會報

java類的初始化物件的例項化區別

在程式RUN的一瞬間,什麼類啊,靜態的東西啊(靜態塊,靜態方法,靜態屬性),刷刷刷的就在記憶體中載入(你可以看作初始化)了,只加載一次,然後main方法開始執行(這就是為什麼main方法必須是靜態的原

JS克隆陣列物件不指向同一記憶體

專案中有時候需要把原始資料存起來,便於其他資料修改它之後再和它對比。 平常程式碼要克隆就直接複製了。像這樣: const a = {a:'a',b:'b'}; const b = a; 此時去改變b的話,a中的資料也會隨著改變,這樣違背了我們的初衷。 怎麼解決呢?直接使用ES

深入理解Java的同步靜態方法synchronizedclass程式碼塊的類鎖 深入理解Java併發synchronized同步化的程式碼塊不是this物件時的操作

一.回顧學習內容  在前面幾篇部落格中我我們已經理解了synchronized物件鎖、物件鎖的重入、synchronized方法塊、synchronized非本物件的程式碼塊,  連結:https://www.cnblogs.com/SAM-CJM/category/1314992.h

學習:JS陣列物件的之間的關聯、區別

在jscript中陣列和物件幾乎相同,兩者主要的差別是物件沒有自動長度屬性,而陣列沒有物件的屬性和方法。 陣列定址 使用方括號"[]"來定址陣列。方括號中是一個數值或一個值為整數的表示式。 將物件作為關聯陣列 通常,使用點運算子“.”訪問物件的屬性。例如, myOb

js陣列的合併物件的合併

1 數組合並 1.1 concat 方法 1 2 3 4 var a=[1,2,3],b=[4,5,6]; var c=a.concat(b); console.log(c);// 1,2,3,4,

a標籤跳頁傳參,以及擷取URL引數 js 編碼encode解碼decode的三種方法

<a href="dd.index?aa=1&&bb=2"></a> //擷取URL引數 // console.log(window.location.search); function GetQueryString(name) { var reg = new Re

js 編碼encode解碼decode的三種方法

s對文字進行編碼涉及3個函式:escape,encodeURI,encodeURIComponent,相應3個解碼函式:unescape,decodeURI,decodeURIComponent 下面簡單介紹一下它們的區別 1 escape()函式 定義和用法

物件

類的6個預設成員函式 建構函式、拷貝建構函式、 解構函式、賦值操作符過載、 取地址操作符過載、const修飾的取地址操作符過載    1.建構函式 建構函式:(就是初始化函式) (1)函式名與類名相同,無返回值 (2)建立物件時,編譯器自動呼叫對應的建構函式

js陣列常用邏輯演算法從大到小,從小到大排序,去重等問題

從小到大: // 從小到大順序排序 minSort (arr) { var min for (var i = 0; i < arr.length; i++) { for (var j = i; j < arr.le

JS陣列實現倒序遍歷陣列陣列連線字串

// =================== 求最大值===================================== <script> var arr = [10,35,765,21345,678,89]; va

C++基礎第三章使用類物件中篇物件陣列物件指標,常物件

一.1,物件陣列 我們定義普通型別的陣列時 int a[100]; char b[100]; string s[100]; 定義物件陣列也是一樣的 Student stud[5]; //定義stud陣列,有5個元素 物件陣列的初始化 Student

js的頁面傳值中文顯示亂碼問題innerHTML在頁面上顯示亂碼focusdroid

js中的頁面傳值和中文顯示亂碼問題(innerHTML在頁面上顯示亂碼) 0.需求 a頁面的值傳到B頁面上(數字,字母或者中文),需要顯示在頁面上,頁面上顯示的是亂碼(或者在控制檯打印出來是中文,放在頁面上就是亂碼) 本身就需要傳遞中文的值,單傳過去就是

java多執行緒的sleep、wait、notify物件鎖的關係

1、sleep()不釋放物件鎖。 2、wait()釋放物件鎖。 3、notify()不釋放物件鎖。 (1)、notify釋放鎖嗎?不要誤導別人。notifty()只是喚醒此物件監視器上等待的單個執行緒,直到當前執行緒釋放此物件上的鎖,才有可能繼續執行被喚醒的執行緒。 (2)

JS 物件Object字串String互轉

利用原生JSON物件,將物件轉為字串 [javascript] view plaincopy var jsObj = {};   jsObj.testArray = [1,2,3,4,5];   jsObj.name = 'CSS3';   jsObj.

JAVA_TOJAVASE_Day0809面向物件,陣列工具的建立物件繼承、單例設計模式、抽象類

面向物件,陣列工具的建立和物件繼承 優化: package com.ttzx.study.utils; /** * 建立一個用於運算元組的工具類,其中包含著常見的對陣列操作的函式,如:最值排序等。 * @author 子龍 * @version V1.0 *

js陣列物件區別

陣列: 陣列是有序資料的集合,陣列下標只能是數字,如果為字串則變為物件的屬性。 宣告: var arr = []; 賦值: arr[0] = '大寧';