您好,登錄后才能下訂單哦!
這篇文章主要講解了“javascript對象有哪些特點”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“javascript對象有哪些特點”吧!
javascript對象的特點:1、“鍵值對”列表中的最后一個屬性要以逗號結尾;2、使用const聲明的對象,其數(shù)據(jù)是可以被修改的;3、屬性名可以是“[值]”方式;4、“in”運算符左邊必須是屬性名,右邊是對象名,返回的是布爾值。
本教程操作環(huán)境:windows7系統(tǒng)、javascript1.8.5版、Dell G3電腦。
第一:“鍵值對”列表中的最后一個屬性要以逗號結尾
這個逗號有個高大上的名字:尾隨逗號(trailing)
原因應該就是為了規(guī)范,簡單來說就是為了美觀。
第二:使用const聲明的對象,其數(shù)據(jù)是可以被修改的
該對象內(nèi)部的屬性是可以被修改的。
對對象整體進行更改,是不行滴。
第三:多詞屬性名來搗亂
鍵值對中的鍵,也就是name:"zhangsan"中的name如果變成“new name”。
名字由一個單詞變?yōu)槎鄠€單詞,會使得有些事物發(fā)生改變。
點不能使用了。原先是person.name,現(xiàn)在可不能寫person.new name。
應該寫person["new name"]
遇到多詞名稱,記住三點:
用括號
名字加引號
括號內(nèi)可以直接寫字符串,也可以寫變量,因為變量中也可以寫字符串
第四:屬性名還有一種古怪的方式,方括號[]
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循環(huán)
語法格式:
for (key in object) { // 對此對象屬性中的每個鍵執(zhí)行的代碼 }
其中,除了in左邊的key不確定之外(可以用其他單詞來代替),其他幾個單詞的結構都是確定的。
側(cè)面反映了,這個語句中重要的是“到底是要遍歷哪一個對象”。
第九:對象屬性的順序
一個概念:整數(shù)屬性名
屬性名是整數(shù)字符串
另一個概念:整數(shù)字符串
可以被轉(zhuǎn)化為整數(shù)的字符串
“1”,“2”等就是整數(shù)字符串。
記住:
當屬性名不是整數(shù)字符串,遍歷對象輸出數(shù)據(jù)時的順序按照創(chuàng)建時的順序
當屬性名是整數(shù)字符串,按照從小到大的順序。
感謝各位的閱讀,以上就是“javascript對象有哪些特點”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對javascript對象有哪些特點這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。