您的位置:首页 > 其它

Firebug: 关于console.log(obj)

2010-10-13 10:54 309 查看
如果console.log()中的参数是一个引用对象,控制台上显示的是程序结束后对象的值,而不是程序执行过程中对象的值。

测试代码:



1 >> var obj={hello:1, world:2};

2 >> //

3 >> var fn = function(o){

4 >> var ref =o;

5 >> console.log(ref);

6 >> ref.good ="good";

7 >> }

8 >> //

9 >> fn(obj);

10 >> //

11 >> console.log(obj);


按照逻辑来说,第5行代码输出的对象应该是{hello:1, world:2},与第11行的对象{hello:1,world:2,good:"good"}应该不同的。

但是实际的输出都是:
{hello:1,world:2,good:"good"}

原因在于firebug javascript控制台检查的也是对象的引用。当程序结束时,引用对象也变成了最终结果。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: