dan*_*son 91 javascript google-chrome object
这段代码:
foo = [{id: 1},{id: 2},{id: 3},{id: 4}, {id: 5}, ];
console.log('foo1', foo, foo.length);
foo.splice(2, 1);
console.log('foo2', foo, foo.length);
Run Code Online (Sandbox Code Playgroud)
在Chrome中生成以下输出:
foo1
[Object, Object, Object, Object, Object] 5
0: Object
1: Object
2: Object
3: Object
length: 4
__proto__: Array[0]
5 (index):23
foo2
[Object, Object, Object, Object] 4
0: Object
1: Object
2: Object
3: Object
length: 4
__proto__: Array[0]
Run Code Online (Sandbox Code Playgroud)
小提琴:http://jsfiddle.net/2kpnV/
这是为什么?
zzz*_*Bov 136
通过console.log异步方式检查对象.控制台同步接收对象的引用,但在扩展之前不显示对象的属性(在某些情况下,取决于浏览器以及在日志发生时是否打开开发工具).如果在控制台中检查对象之前修改了对象,则显示的数据将具有更新的值.
例如,Chrome会i在一个盒子中显示一点,当它悬停时,会说:
记录时左边的对象值被快照,刚才评估了下面的值.
让你知道你在看什么.
记录这些情况的一个技巧是记录单个值,或者JSON编码对象引用:
console.log(obj.foo, obj.bar, obj.baz);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
40510 次 |
| 最近记录: |