如何在 extendScript 上使用 console.dir()?

How to console.dir() on extendScript?

我想熟悉extendScript中的DOM,我想console.log(certainObject)console.dir(certainObject)来检查它的属性

有一种方法 console.log() 例如 $.writeln(certainVariable) 但这不会 return 该对象的属性。

我可以使用 extendScript toolkit 但在 Data Browser 中我无法识别所有对象。

转到 documentation 令人困惑,例如对于这个对象 app.activeDocument.placedItems 它列出了某些属性,但是基本的 属性 例如方法 app.activeDocument.placedItems.add(); 却没有那里。

那个方法是从哪里来的?继承? , 我该如何检查?

获取对象所有(?)属性的最简单方法就是遍历它们并在控制台中打印结果:

var obj = app.selection[0];
var props = '';
for (var prop in obj) {
    try { props += prop + ' : ' + obj[prop] + '\n' }
    catch(e) { props += prop + ': ???\n' }
}
$.writeln(props.split('\n').sort().join('\n'));

不确定这是否是最好的方法,但我有时会这样做。 )

我看到了同样的解决方案并将结果放入面板中。如果您知道如何创建面板并用文本填充它,就可以很容易地完成。

至于方法...嗯,我不知道答案