物件實字(Object Literals)
- 直接撰寫 var obj1 = {…} 物件。(範例一)
建構物件(Constructor Object)
- 使用 new Object() 包裹方式建立。(範例二)
|
|
物件的基本應用方法 :
- 取值。(範例一)
- 新增屬性。(範例二)
- 刪除屬性。(範例三)
- 新增物件。(範例四)
|
|
變數無法被刪除,屬性才可以 :
|
|
全域環境下賦予的值是window的屬性
純值不能新增屬性,物件才可以 :
|
|
傳值(Call by Value)
- 純值的傳值方式是複製,傳完後無任何關聯。(範例一)
傳參考(Call by Reference)
- 物件是以傳參考方式指向它,若修改會一起變更。(範例二)
|
|
只要出現{物件實字}就是新增的物件
淺層複製(Shallow Copy)
-
只能複製第一層屬性。。
-
使用 for in… 。( javascript )
-
使用 jQuery.extend() 。( jQuery )
-
使用 Object.assign() 。( ES6 )
-
|
|
深層複製(Deep Copy)
-
可以複製整個物件。
-
使用 JSON.stringify() 將物件轉為字串 (JSON) 。
-
使用 JSON.parse() 將字串 (JSON) 轉為物件 (JSON) 。
-
|
|
陣列(Array)
- 是以數列方式排列的物件。
- 第一個是從 0 開始。
-
陣列的基本應用方法 :
-
使用 [] 方式取值。(範例一)
-
使用 push() 新增純值、物件、函式。(範例二)
-
使用 delete 刪除值,若陣列為空,會自動補上(undefined)。(範例三)
-
使用 for迴圈 複製陣列,與原陣列無任何關聯。 (範例四)
-
|
|
JSON(JavaScript Object Notation)
- 是一種輕量級的資料交換語言。
- 只有屬性,沒有函式。
- 所有屬性都是字串型別,且一律都只用雙引號 "" 。
-
基本的取得方式 :
-
使用 new XMLHttpRequest() 。( javascript )
-
使用 $.ajax({}) 。( jQuery )
-
- 打開Chrome→Network→Response,可查看回傳的資料。
|
|
框架會自動轉換JSON格式