iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
0
自我挑戰組

JS 作品實戰應用 - Vue 電商網站系列 第 3

03. 物件-結構/取值新增刪除

  • 分享至 

  • xImage
  •  

物件結構

物件實字 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);

上一篇
02. 陳述式與表達式
下一篇
04. 物件的參考特性
系列文
JS 作品實戰應用 - Vue 電商網站30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言