Syntax error in javascript usign Rhino: SyntaxError: missing } after property list

Syntax error in javascript usign Rhino: SyntaxError: missing } after property list

我有一个 SyntaxError: missing } after property list 使用 Rhino 和以下无法编译的脚本:

importClass(org.scripthelper.js.samples.ScriptTag)
script11Class = new JavaAdapter(org.scripthelper.js.samples.ScriptTag, {
     init: function(ctx) {
       context = ctx;
    }
function externalPressed() {
   return 1;
}
});

错误在 externalPressed 函数声明行。

但是如果我通过以下方式更改我的代码:

importClass(org.scripthelper.js.samples.ScriptTag)
script11Class = new JavaAdapter(org.scripthelper.js.samples.ScriptTag, {
     init: function(ctx) {
       context = ctx;
    },
externalPressed: function() {
   return 1;
}
});

它工作正常。

我做错了什么?我确定第一种情况无效 Javascript,但我不明白为什么

因为没有有效的构造函数。此外,编译器将在以下行中解释什么。

{
     init: function(ctx) {
       context = ctx;
    }
function externalPressed() {
   return 1;
}

很明显,它显示了两个块。