如何在 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'));
不确定这是否是最好的方法,但我有时会这样做。 )
我看到了同样的解决方案并将结果放入面板中。如果您知道如何创建面板并用文本填充它,就可以很容易地完成。
至于方法...嗯,我不知道答案
我想熟悉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'));
不确定这是否是最好的方法,但我有时会这样做。 )
我看到了同样的解决方案并将结果放入面板中。如果您知道如何创建面板并用文本填充它,就可以很容易地完成。
至于方法...嗯,我不知道答案