2013-02-21 51 views
2

好吧,我试图通过Chrome的JavaScript控制台显示对象(具体为Aceeditor对象)的所有功能/属性,使用console.log(editor)(或console.log(editor.getSession()))。对象函数没有显示与console.log

事情是 - 研究了Ace背后的代码 - 我知道有函数(我已经用它们) - 当我试图“打印”对象时,它们是而不是

发生了什么事?我怎样才能得到完整的对象/功能树? (最好是在一些可读格式)


提示:

我确实需要这一点是为了得到可用方法的完整列表(其中大部分甚至没有记录)。


编辑:

步骤来重现问题:

回答

1

某些框架会覆盖console.log功能。

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

还有一个增强的方式:

for (key in editor) { 
    console.log(key); 
    console.log(editor[key]); 
    // or 
    editor[key].valueOf(); 
} 
+0

感谢队友,但遗憾的是它不工作。请检查我的初始帖子的编辑。 – 2013-02-21 11:36:38

+0

这些获取者和设置者可能在访问期间生成。所以他们不存在于现实中。如果您查看console.log,您将看到'session',它负责getSession以及属性'breakpoints'。并且这些方法在_proto_部分中可用。 – 2013-02-21 11:40:20

+1

,正如我写的:“for(key in editor){console.log(key);}'也出现在列表中的getSession! – 2013-02-21 11:43:43

0
for(var i in ace){ console.log(i); }; 

或者尝试

inspect(ace); 
+0

谢谢,但这一个不工作。请检查我的初始帖子的编辑。 – 2013-02-21 11:37:04

相关问题