js 對象 Object

一、對象字面量

 1、首先了解什麼是字面量?

字面量表示如何表達這個值,一般除去表達式,給變量賦值時,等號右邊都可以認爲是字面量。字面量分爲字符串字面量(string literal )、數組字面量(array literal)和對象字面量(object literal),另外還有函數字面量(function literal)。
示例:

var test="hello world!";
"hello world!"就是字符串字面量,test是變量名。

2、對象字面量

對象字面量就是包圍在一對花括號中的零或者多個“名/值”對。
var obj = {
    name:“name”
}

對象內鍵的命名:可以是包括空字符的任何字符串,非保留字非js標識可以不適用引號括住,但分段需要引號括住。如下:

var obj{

    “a-b”:1,
    a_b:1
}

//“a-b” 必須添加引號
//a_b 可選擇是否添加引號

注:js中標識符包括(-)是不合法的,但包含(_)則是合法的

二、對象屬性檢索方法

var obj = {
    name:"lily",
    core:{
        English:60,
        Math:80
    }


}

1、通過 . 檢索

obj.name

2、通過[] 檢索

obj["name"]

3、當檢索一個不存在的成員屬性

obj.age //undefined

4、運算符 || 填充默認值

var name = obj.name || "小明"
var name = obj["name"] || "(小明)"

5、運算符 && 避免值爲undefined的屬性成員導致的TypeError異常

obj.age     //undefined
obj.age.model        //TypeError
obj.age && obj.age.model        //undefined

三、更新對象的成員屬性值

1、. 賦值

2、[] 賦值

3、{} 賦值

obj.name = "汪汪" 
obj.sex ="母"
obj["age"]="6個月"
obj ={
    obj.name = "狗狗",
    obj.sex ="母",
    obj["age"]="2個月"
}

注:. \ [] 修改值的時候,當obj已存在該屬性名,則修改,不存在則直接添加。{} 直接修改obj的成員屬性

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章