iT邦幫忙

第 12 屆 iT 邦幫忙鐵人賽

DAY 16
1
Modern Web

JS讀書筆記系列 第 16

JS讀書筆記30天 - Day16 物件2

物件的寫法

物件的寫法,分為物件實字和建構式兩種,一般情況下,建議用物件實字,較為簡潔好懂。

物件實字(Object Literals)

寫法如下:

var 物件名稱 = {
  屬性A: 值A,
  屬性B: 值B
};

屬性是字串,所以可以用數字或是特殊字元命名。

屬性的值可以是純值、物件,甚至函式。

屬性的值後如果還要接第二個屬性,要用半形逗號(,)區隔,最後一組可以不用加逗號,但若是加了也不會出現錯誤。

var class = {
  tracherName: "John",
  students: 30,
  leaders: ["Rose", "Agnes", "Andy"],
  firstFloor: true,
  function greeting(){
    console.log("Hello!!!");
  },
  subjectTeacher: {
    math: 'Tim',
    chinese: 'Meg'
  }
};

建構式

寫法如下:

var 變數名 = new Object('物件名');

在使用建構式時,若小括弧中包含的是數字,就會建立一個數字的物件,若是字串,就會建立一個包含字串的物件,若是包含的是物件,就會建立一個新的物件了,所以在使用上要特別注意。

var example = {
  $: false,
  64: true,
  "加密檔案": true,
  紙質文件: true
};

example.64; //出現錯誤
example."加密檔案"; //出現錯誤
example.$; //可以運行
example["64"]; //可以運行
example.加密檔案; //可以運行
example["加密檔案"]; //可以運行
example.紙質文件; //可以運行
example["紙質文件"]; //可以運行

物件的運用

首先先建立一個空物件,以方便下方說明:

var family = {};

新增資料

有兩種方式:

family.father = "Bruce";
family.kidsName = ["John", "Jason", "Tim"];
family.haveCar = false;
  1. 用半形中括弧([])包覆要命名的屬性,屬性要接半行引號(''
family['father'] = "Bruce";
family['kidsName'] = ["John", "Jason", "Tim"];
family['haveCar'] = false;

讀取資料

有兩種方式:

family.father;
family.kidsName[0];
family['father'];
family['kidsName'][0];

這種讀取方式的好處在於可以讀取數字或特殊字元命名的屬性,並可以用變數取值。

ex:

var paper = '紙質文件';
var example = {
  $: false,
  64: true,
  紙質文件: true
};

example.$; //可以運行
example['$']; //可以運行
example.64; //出現錯誤
example["64"]; //可以運行
example[paper]; //可以運行

上一篇
JS讀書筆記30天 - Day15 陳述式與表達式
下一篇
JS讀書筆記30天 - Day17 函式2
系列文
JS讀書筆記30

尚未有邦友留言

立即登入留言