我正在努力理解 DukeScript 中的“本机方法”调用是如何工作的。特别是在 @JavascriptBody 注释中没有指定正文的那些。例如:
@JavaScriptResource(value = "userEntryComponent.js")
public final class UserEntryWidget {
private UserEntryWidget() {
}
@JavaScriptBody(args = {}, body = "")
public static native void registerComponent();
}
“registerComponent()”方法在哪里定义?在淘汰赛中有一个名为“ko.components.register”的javascript函数。所以“registerComponent”必须是“ko.components.register”的一种包装。
另一个没有正文的本机方法调用示例如下:
@JavaScriptResource("jquery-1.11.0.min.js")
public class JQuery {
@JavaScriptBody(args = {},body="")
public static native void init();
}
那么,在这种情况下,什么是“init()”?它是 Java 方法还是 JavaScript 函数?