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中的同步靜態方法和synchronized(class)程式碼塊的類鎖 深入理解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] = '大寧';