为什么chrome的开发人员控制台拷贝到剪贴板函数有时会返回对象的toString值?

时间:2016-12-05 08:23:24

标签: javascript google-chrome developer-console

据了解,copy是Chrome和Firefox(以及可能的其他浏览器)的开发者控制台中可用于将对象复制到剪贴板的特殊功能。 [1] [2]

那么为什么当我在chrome中复制一些高度复杂的对象以在我的文本编辑器中进行调试时,它的一部分会恢复为调用其toString函数,当没有指定时会产生“[Object object]” ?

1 个答案:

答案 0 :(得分:0)

当对象包含circular reference时,会出现此问题。例如:

var foo = {};
foo.bar = foo;
copy(foo);

Chrome(v54)用字符串值替换该对象。在Firefox(v47)中,如果对象具有循环引用,则错误/* TypeError: cyclic object value */将被复制到剪贴板。