对象函数未显示在console.log中

Object functions not showing up with console.log

本文关键字:console log 显示 函数 对象      更新时间:2023-09-26

好吧,我正试图通过Chrome的JavaScript控制台使用console.log(editor)(或console.log(editor.getSession()))来显示对象(特别是Ace editor对象)的所有函数/属性。

问题是,在研究了Ace背后的代码后,我知道有一些函数(我也使用过它们),当我试图"打印"对象时,这些函数是而不是

怎么回事?如何获取完整的对象/函数树?(最好以某种可读格式)


提示:

实际上,我需要这一点,以便获得可用方法的完整列表(其中大部分甚至没有文档)。


编辑:

重现问题的步骤:

  • 转到http://ace.ajax.org/#nav=about&api=选择
  • 打开JavaScript控制台
  • 检查editor.getSession()
  • 例如,未列出editor.getSession().getBreakpoints()
  • 然而,如果你尝试使用它,它会很好

一些框架覆盖console.log功能。

在大多数情况下,您可以编写editor.valueOf()来获取所有属性和方法,而不是console.log(editor)

还有一种增强的方法:

for (key in editor) {
    console.log(key);
    console.log(editor[key]);
    // or
    editor[key].valueOf();
}
for(var i in ace){ console.log(i); };

或者尝试

inspect(ace);