app.-properties 函数错误

app.-properties in function erroring

我是一个 JS 新手,但我正在尝试编写我的工作流程脚本。 我根据需要修改了一个脚本,但突然之间基于应用程序的属性设置不再适用于函数:

function myExport(Xquali, Xdpi, XAA, XSP, Xpath, BMcounter) {
  switch (Xquali) {
   case "Low": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.LOW; break;
   case "Medium": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MEDIUM; break;
  case "High": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.HIGH; break;
  case "Max": alert("?"); app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM; alert("!");}

这段代码显然没有任何问题,但我尝试更改的所有属性都取消了我的脚本——我不知道如何找出原因。 你们有什么想法吗,为什么我可以在我的功能之外更改例如 jpgexport 的东西,而不是在那里?

1 检查您的语法 - 您缺少一个“}”。试试这个:

function myExport(Xquali, Xdpi, XAA, XSP, Xpath, BMcounter) {
   switch(Xquali){
       case "Low": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.LOW;              
       break;
       case "Medium": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MEDIUM; 
       break;
       case "High": app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.HIGH; 
      break;
      case "Max": alert("?"); app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality.MAXIMUM; 
      }
      alert(app.jpegExportPreferences.jpegQuality);}

我可以推荐一个更短的片段吗?

function myExport(Xquali) {
 if (!Xquali||!(typeof(Xquali)!=String)||!/low|medium|high|maximum/i.test(Xquali) ) return;
 app.jpegExportPreferences.jpegQuality = JPEGOptionsQuality[Xquali.toUpperCase()];    
}

myExport("low"); //could be Low, LOW, low, loW,loW whatever
alert(app.jpegExportPreferences.jpegQuality);

FWIW

让它放下,我不知道我到底哪里出错了......但是当我重新安排我的脚本时,没有将我的东西放在函数 main() 中,然后放置一个函数 mywindow(),它调用一个函数Export(Xquali),它试图设置 app.properties… 也许这些属性的处理方式有所不同,因为我将它们的调用更深入了。