我寫了一個程式要告訴你們關於 溫斯頓的生動細節
但是不會說很多 因為溫斯頓喜歡保持神秘
這就是溫斯頓的風格
讓我們來看看我怎麼寫這個程式
我先在程式上方創造一些變量 (varaible) 來儲存溫斯頓個人資料
第一個變量是數值 - 溫斯頓的年齡 第二個變量是字串 - 他的眼睛顏色
第三個變量是字串陣列 - 他喜歡做的事
而... 最後二個變量是字串 - 描述他的出生地
然後從這裡 我用文字命令 (text command) 和變量名稱寫出這些
當然對於字串陣列 若要存取陣列元素 必須使用中括號
不錯
現在 所有五個變量都描述同一件事： 溫斯頓
但是變量彼此之間不知道它們都和溫斯頓有關
我們知道... Javascript 中有一個較好的酷方法
來儲存眾多相關的資訊
它叫做物件 (Object)
物件意思是 與其使用五個變量
只使用一個單獨變量 就能儲存所有資訊 真的很酷
讓我們來試試溫斯頓的資料
首先 宣告變量 把它叫做溫斯頓 winston
然後 輸入一個開放的大括號 是彎曲而不是方形的括號
以及一個分號
我們剛剛造了一個物件 但物件內尚無任何東西
若要添加資料 必須加上屬性 (property)
屬性是一個關鍵字 (Key) 和一個數值 例如 年齡 age 為19
好 至於眼睛 我們要先加上一個逗號
然後眼睛為 "black" 好的 酷
目前為止 溫斯頓有兩項屬性在物件裡
嗯 以此類推 接著我們只要
從上面複製貼上...
呃 非常好 讓我們看看 溫斯頓有三個屬性
每個屬性都有一個關鍵字 位於左手邊
另外還有一個數值 在右手邊
關鍵字所遵循的規則如同 JavaScript 的變量名稱
不能有空格 必須以字母開頭
關鍵字的值可以是我們迄今見過 任何類型的值
可以是數字 也可以是字串 也可能是一個陣列
甚至可以是一個邏輯符號 因此我們當然可以添加 isCool 其值為 true
實際上 關鍵字值甚至可以是另一個物件
像是 出生城市 BirthCity 出生州 BirthState
這些資訊其實是一件事情的片段 也就是單一地點
所以 我認為 如果把它存儲為一個物件 可以更有意義
我要添加一個關鍵字 出生地 再次用大括號表達數值
括號內輸入城市的關鍵字："Mountain View"
以及州名："California"
很棒 你現在可以知道
存儲在物件內的資訊可以非常豐富
好 現在我們有這個漂亮物件 介紹溫斯頓有關資訊
讓我們試著去刪除那些
原來不知道彼此的個別變量
OK 嗯 哦呃！我們發現有一個錯誤
因為文字命令參照原來的變量
我們需要從物件更新變量
讓我們註釋掉最後三行 這樣就可以一次做一個
好的 現在講溫斯頓的年齡 WinstonAge
我們需要做的是替換舊變量
因此打出 winston 這是變量名稱
注意 如果我們剛剛就這樣離開 它就是 object object 這是非常錯的
JavaScript 告訴我們 我們試圖把整個物件轉換列出為一個字串值
但是 我們其實只是想存取它裡面的年齡
因此我們要做的是 輸入一個點
然後輸入屬性的關鍵字 那就是年齡 “age”
成了！我們有了年齡
這個叫做 “點號” 這裡我們寫出物件的變量名稱 接著是一個點
然後是屬性的關鍵字
好 我們可以做更多 讓我們去掉這註釋
然後 這個變量我們不叫做 winstonEyes 而稱為 winston.eyes
另外這個是 winston.likes[0]
下來是 winston.likes[1]
最後一個有點複雜 因為
它是物件 winston 內的物件 (birthplace)
我們若說 winston.birthplace
那樣做 birthplace 仍然是整個物件 所以必須用 winston.birthplace.city
好吧 讓我們做到這裡... winston.birthplace.state
成了！真的很酷 因為可以在物件中存取資料
好
真棒 你可以看到
物件存儲一堆與目標相關的資訊
方便之後存取
如果你學下去 你會發現物件真是棒呀！