Javascript 抓取引用,设置默认值
以下代码安全吗?你将如何完成同样的事情 假设我有一个对象x。我想为x中的某个键向数组中添加一些值,如果该键不存在,则将其设置为空数组:Javascript 抓取引用,设置默认值,javascript,Javascript,以下代码安全吗?你将如何完成同样的事情 假设我有一个对象x。我想为x中的某个键向数组中添加一些值,如果该键不存在,则将其设置为空数组: var x = {}; var a = x['k'] = x['k'] || []; a.push('moo'); 试试这个 var x = {}, a = 'k' in x ? x['k'] : []; 编辑: var x = {}, a = []; if ( x['k'] ) { a = x['k']; } else { x['k']
var x = {};
var a = x['k'] = x['k'] || [];
a.push('moo');
试试这个
var x = {}, a = 'k' in x ? x['k'] : [];
编辑:
var x = {}, a = [];
if ( x['k'] ) {
a = x['k'];
} else {
x['k'] = a;
}
我想这不会给我留下x['k']==a?不过,看到“in”操作符很有趣。我不知道这是可用的。这是一个很好的技巧,可以让a具有正确的值。我希望能对我最初提议的风格有所评论。我想正确的分配会让它更安全: