首頁 > web前端 > 前端問答 > javascript物件有什麼特點

javascript物件有什麼特點

青灯夜游
發布: 2021-12-07 15:59:06
原創
2851 人瀏覽過

javascript對象的特點:1、「鍵值對」列表中的最後一個屬性要以逗號結尾;2、使用const聲明的對象,其資料是可以被修改的;3、屬性名可以是「[值]」方式;4、「in」運算子左邊必須是屬性名,右邊是物件名,回傳的是布林值。

javascript物件有什麼特點

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

js物件的九大特點

第一:「鍵值對」清單中的最後一個屬性要以逗號結尾

#這個逗號有個高大上的名字:尾隨逗號(trailing)

原因應該就是為了規範,簡單來說就是為了美觀。

第二:使用const宣告的對象,其資料是可以被修改的

該物件內部的屬性是可以被修改的。

對物件整體進行更改,是不行滴。

第三:多詞屬性名來搗亂

鍵值對中的鍵,也就是name:"zhangsan"中的name如果變成「new name 」。

名字由一個單字變成多個單詞,會使得有些事物改變。

  • 點不能使用了。原先是person.name,現在可不能寫person.new name。
  • 應該寫person["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迴圈

#語法格式:##

 for (key in object) {
   // 对此对象属性中的每个键执行的代码
 }
登入後複製
其中,除了in左邊的key不確定之外(可以用其他單字來代替),其他幾個單字的結構都是確定的。

側面反映了,這個語句中重要的是「到底是要遍歷哪一個物件」。

第九:物件屬性的順序

一個概念:整數屬性名稱

屬性名稱是整數字串

#另一個概念:整數字串

可以被轉換為整數的字串

“1”,而「2」等就是整數字串。

記住:

當屬性名稱不是整數字串,遍歷物件輸出資料時的順序按照建立時的順序
  • 當屬性名稱是整數符串,依照從小到大的順序。
  • 【相關推薦:
javascript學習教學

#

以上是javascript物件有什麼特點的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板