5年Web前端开发的经验告诉你:我们该如何正确理解检索

检索

要检索对象中半酣的值,可以采用[]后缀中括住一个字符窜表达的方式。如果字符串表达式是一个常数,而且它是一个合法的JavaScript标识符而并非保留字,那么也可以用表示法代替。优先考虑使用.表示法代替。优先考虑使用.表示法,因为它更紧凑且可读性更好。

stooge["first-name"] //"JOE"

flight.departure.IATA //"SYD"

参照上一篇文章:www.jianshu.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,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货以及各种经典案例(包括此案例),包括我自己整理的一份2017最新的前端资料和零基础入门教程,同时,还会定期和大家共同讨论目前企业需求以及各类面试问题,欢迎初学和进阶中的小伙伴。

5年Web前端开发的经验告诉你:我们该如何正确理解检索_第1张图片
更新

对象中的值可以通过赋值语句来更新。如果属性名已经存在对象中,那么这个属性值将被替换。

stooge['first-name'] = 'Jerome';

如果对象之前并没有拥有那个属性名,那么该属性就被扩充到该对象中。

stooge['middle - name'] = 'Lester';

stooge.nickname = 'Curly';

flight.equipment = {

model:'Boeing 777'

};

flight.status = 'overdue';

5年Web前端开发的经验告诉你:我们该如何正确理解检索_第2张图片
引用

对象通过引用来传递。它们永远不会被拷贝:

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 都引用同一个空对象。

5年Web前端开发的经验告诉你:我们该如何正确理解检索_第3张图片
5年Web前端开发的经验告诉你:我们该如何正确理解检索_第4张图片

你可能感兴趣的:(5年Web前端开发的经验告诉你:我们该如何正确理解检索)