代碼
/**
* 對象的屬性名
* - 對象的屬性名不強制遵循標識符的命名規范,可以是任意的名字,但在開發中
* 盡量遵循標識符的命名規范
*/
// 創建對象obj1
var obj1 = new Object();
// 添加屬性name
obj1.name = "唐僧";
console.log(obj1); // {name: "唐僧"}
/**
* 如果要使用特殊的屬性名,不能采用"."的方式來操作,需要使用另一種
* 方式:
* 語法:對象["屬性名"] = 屬性值
* 讀取時也用這種方式
* 使用"[]"去操作屬性會更加的靈活,在"[]"可以直接傳遞一個變量,這樣
* 變量值是多少就會讀取那個屬性
*/
obj1["888"] = 888;
obj1["###"] = '###';
console.log(`obj1["888"] = ${obj1["888"]}, obj1['888'] = ${obj1['888']}, obj1['###'] = ${obj1['###']}`); // obj1["888"] = 888, obj1['888'] = 888, obj1['###'] = ###
var k = '888';
// 將變量k放到[]中,用來讀取屬性值
console.log(`當k為'888'時, obj1[k] = ${obj1[k]}`); // 當k為'888'時, obj1[k] = 888
/**
* 對象的屬性值
* - 對象的屬性值可以是任意的數據類型,甚至也可以是一個對象
*/
// 創建另一個對象obj2
var obj2 = new Object();
obj2.address = '杭州市余杭區';
obj2.city = '杭州';
// 將對象obj2賦值給對象obj1的屬性
obj1.profile = obj2;
// 此時輸出對象obj1
console.log(obj1); // {888: 888, name: "唐僧", profile: {address: "杭州市余杭區", city: "杭州"}, ###: "###"}
/**
* in運算符
* - 通過該運算符可以檢查一個對象中是否存在指定的屬性,如果有則返回true,否則返回false
* 語法:
* "屬性名" in 對象
*/
// 檢查對象obj1中是否存在屬性name
if ("name" in obj1) {
console.log(`對象obj1中存在屬性name`); // 對象obj1中存在屬性name
} else {
console.log(`對象obj1中不存在屬性name`);
}
// 檢查對象obj1中是否存在屬性city
if ("city" in obj1) {
console.log(`對象obj1中存在屬性city`);
} else {
console.log(`對象obj1中不存在屬性city`); // 對象obj1中不存在屬性city
}
查看源代碼