为什么会这样,展开是有元素的,但是上面显示的却是0?
不是应该像下面这样吗?
数组的第一个元素下表不就是0
这是因为展开前knqk
的长度还是0,等到你展开的时候它的长度变成了2,可能是由于某个定时器或其他异步操作更新了这个数组。
你可以用下面的代码来验证:
var arr = [];
var o = {detail:{}, knqk:arr};
setTimeout(function(){arr[0]=1;arr[1]=2;}, 100);
console.log(o);
为什么会这样,展开是有元素的,但是上面显示的却是0?
不是应该像下面这样吗?
数组的第一个元素下表不就是0
这是因为展开前knqk
的长度还是0,等到你展开的时候它的长度变成了2,可能是由于某个定时器或其他异步操作更新了这个数组。
你可以用下面的代码来验证:
var arr = [];
var o = {detail:{}, knqk:arr};
setTimeout(function(){arr[0]=1;arr[1]=2;}, 100);
console.log(o);