javascript對象的特點:1、「鍵值對」列表中的最後一個屬性要以逗號結尾;2、使用const聲明的對象,其資料是可以被修改的;3、屬性名可以是「[值]」方式;4、「in」運算子左邊必須是屬性名,右邊是物件名,回傳的是布林值。
本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。
第一:「鍵值對」清單中的最後一個屬性要以逗號結尾
#這個逗號有個高大上的名字:尾隨逗號(trailing)
原因應該就是為了規範,簡單來說就是為了美觀。
第二:使用const宣告的對象,其資料是可以被修改的
該物件內部的屬性是可以被修改的。
對物件整體進行更改,是不行滴。
第三:多詞屬性名來搗亂
鍵值對中的鍵,也就是name:"zhangsan"中的name如果變成「new name 」。
名字由一個單字變成多個單詞,會使得有些事物改變。
遇到多詞名稱,記住三點:
用括號
名字加引號
括號內可以直接寫字串,也可以寫變量,因為變數中也可以寫字串
第四:屬性名稱還有一種古怪的方式,方括號[]
let name="apple" var o={ [name]:5, } alert(o.apple);
記住,方括號中存放的不是確定的,死板的固定值,而是變量,變數懂嗎?
靈活多變的那種。
第五:特殊情況下,屬性值可以簡寫
function makeUser(name, age) { return { name: name, age: age, // ……其他的属性 }; } let user = makeUser("John", 30); alert(user.name); // John
#觀察可以得到,屬性名稱和變數名稱一樣。
此時,可以換個寫法:
變更之前:name:name
#改變之後:name
有啥意義?就是圖片方便,某種意義上來說還增加了初學者的負擔,所以事物皆有兩面性,無事無非。
第六:屬性名稱可以隨便起
不用再擔心關鍵字不能用了(為什麼一定要用關鍵字?閒著蛋痛)
記住一點:__proto__
的屬性。我們不能將它設定為一個非物件的值
第七:「in」的作用
"key" in object
##屬性名在對像中。
in左邊必須是屬性名,右邊是物件名,回傳的是布林值true或false。
屬性名稱通常是字串,但也有可能是變量,變數中存放的還是字串。
所以還是字串在運作。
為什麼要in?
因為怕undefined來搗亂。
第八:for...in迴圈
#語法格式:## 側面反映了,這個語句中重要的是「到底是要遍歷哪一個物件」。 一個概念:整數屬性名稱 屬性名稱是整數字串 #另一個概念:整數字串 可以被轉換為整數的字串 “1”,而「2」等就是整數字串。 記住: 】# 以上是javascript物件有什麼特點的詳細內容。更多資訊請關注PHP中文網其他相關文章! for (key in object) {
// 对此对象属性中的每个键执行的代码
}
javascript學習教學