物件實字 Obiect Literals
// 用物件實字來宣告物件結構 (比較推薦使用物件實字,比較直覺化)
var family = {
property : value // 屬性 : 值
name : '小明家',
deposit : '1000',
members : {
mon : '媽媽',
son : '小明'
},
// 也可以指定函數
callFamily : function() {
console.log('聯絡小明家');
},
};
// 物件建構式
var newFamily = new Object(family); // ()內可插入物件、數字、字串
var newFamily = new Object(1);
var newFamily = new Object('text');
console.log(newFamily);
// 物件取值有兩個方式,一個是用 . (點),一個是用 [] (中括號)
// 物件屬性一律都是字串
var family = {
property : value // 屬性 : 值
name : '小明家',
deposit : '1000',
members : {
mon : '媽媽',
son : '小明'
},
1 : '1', // 物件屬性一律都是字串,所以1看起來是數字但是還是字串
'1' : '1',
'$小明家' : '$小明家 string'
// 也可以指定函數
callFamily : function() {
console.log('聯絡小明家');
},
};
// 使用 . 來取值:
console.log(family.name); // 在family後加入. 後面加上物件裡面的屬性
// 輸出結果為'小明家'
// 使用 [] 來取值:
console.log(family['name']); // 選擇物件屬性可換成中括號取得值
// 輸出結果一樣為'小明家'
// *使用 [] 原因除了可以用字串,也可以用變數方式來取值*
var a = 'name'
console.log(family[a]);
// 輸出結果一樣為'小明家'
console.log(family[1]); //用.取值一定是用字串,用[]就可以直接選擇
// 輸出結果為'1'
console.log(family['$小明家']);
// 輸出結果為'$小明家 string'
family.callFamily(); //取得屬性內的函式值
family['callFamily']();
// 兩個輸出結果皆為'聯絡小明家'
// 直接在物件後面用 . 記號,新增屬性名稱,並賦於值
Object.property : value ;
family.dog = '小白'; // 用 . 新增 dog 屬性,賦於'小白'這個值
family['kitten'] = '小貓' // 用 [] 新增 kitten屬性,賦於'小貓'這個值
family['$'] = 'money' // 屬性是字串,所以可以使用特殊符號當作字串
console.log(family);
// 使用 delete
delete Object.property;
delete family.deposit; // 用 . 將物件裡的 deposit 屬性刪除
delete family['$']; // 用 [] 將物件裡的 $ 屬性刪除
console.log(family);