檢索
要檢索對象中半酣的值篷角,可以采用[]后綴中括住一個字符竄表達的方式锹引。如果字符串表達式是一個常數(shù)盛卡,而且它是一個合法的JavaScript標識符而并非保留字助隧,那么也可以用表示法代替。優(yōu)先考慮使用.表示法代替滑沧。優(yōu)先考慮使用.表示法并村,因為它更緊湊且可讀性更好。
stooge["first-name"] //"JOE"
flight.departure.IATA //"SYD"
參照上一篇文章:www.reibang.com/writer#/notebooks/13739576/notes/14582287
如果你嘗試檢索一個并不存在的成員元素的值滓技,將一個返回 undefined值哩牍。
stooge["middle-name"] //undefined
flight.status //undefined
stooge["FIRST-NAME"] //undefined
| |運算符可以用來填充默認值:
var middle = stooge["middle-name"] | | "{none}";
var status = flight.status | | "unknow";
嘗試檢索一個undefined值將會導致TypeError異常。這可以通過&&運算符來避免錯誤:
flight.equipment //undefined
flight.equipment.model //throw "TypeError"
flight.equipment && flight.equipment.model //undefined
當然令漂,在這里推薦一下我自己的前端群:621071874膝昆,不管你是小白還是大牛,小編我都挺歡迎叠必,不定期分享干貨以及各種經(jīng)典案例(包括此案例)荚孵,包括我自己整理的一份2017最新的前端資料和零基礎入門教程,同時纬朝,還會定期和大家共同討論目前企業(yè)需求以及各類面試問題处窥,歡迎初學和進階中的小伙伴。
對象中的值可以通過賦值語句來更新玄组。如果屬性名已經(jīng)存在對象中滔驾,那么這個屬性值將被替換。
stooge['first-name'] = 'Jerome';
如果對象之前并沒有擁有那個屬性名俄讹,那么該屬性就被擴充到該對象中哆致。
stooge['middle - name'] = 'Lester';
stooge.nickname = 'Curly';
flight.equipment = {
model:'Boeing 777'
};
flight.status = 'overdue';
對象通過引用來傳遞。它們永遠不會被拷貝:
var x = stooge;
x.nickname = 'Curly';
var nick = stooge.nickname;
//因為x和stooge是指向同一個對象的引用患膛,所以nick為'Curly'
var a = {}, b = {}, c = {};
// a摊阀、b和c每個都引用過一個不同的空對象
a = b = c {};
//a、b和c 都引用同一個空對象踪蹬。