戴维·法里内利(Devid Farinelli)
我正在使用Node Monkey调试我的NodeJS应用程序。
当我在Chrome控制台中单击“存储为全局变量”时,经常会显示“无法保存到临时变量”。
console.log({why:'dont', you:'work?'})
这也发生在这个jsfiddle
1)我做错什么了吗?
2)为什么会这样?
Chrome:50.0.2661.102(64位)OSX El Capitan 10.11.4
马特·泽纳特(Matt Zeunert)
我可以看到为什么“另存为全局变量”不起作用的两个原因:
1.选择了错误的控制台上下文
可以说这是一个Chrome错误,但是如果将控制台设置为与记录该对象的代码相同的上下文,则只能将对象存储为全局对象。
实际上,这意味着您可能需要选择正确的IFrame或Web Worker。
例如,在jsFiddle上:
在普通的jsFiddle编辑器页面上下文中,我遇到了错误。但是,如果我将上下文更改为小提琴本身的内容,它将起作用:
2.垃圾收集
为了让Chrome为您提供对该对象的引用,该对象仍必须位于内存中。如果不是这种情况,则只能抛出错误。
但是,我很确定控制台中显示的内容会强制V8保留对该值的引用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
编辑于
我来说两句