尝试使用this$static
它是保存成员和实例状态的对象,作为参数传递给曾经是类成员的函数,但 GWT 将它们编译为常规 js 函数
静态成员
GWT 会将静态函数转换为仅函数(不在 js 中的任何对象下)
public class SomeEntry implements EntryPoint {
public static String Moo() {
String href = Window.Location.getHref();
return href.substring(5, 10);
}
public static String Moo(String x) {
String href = Window.Location.getHref();
return href.substring(5, 10);
}
public void onModuleLoad() {
Window.alert(Moo());
Window.alert(Moo("asd"));
}
}
将编译为:
function Moo(){
var href_0;
href_0 = getHref();
return $substring_0(href_0, 5, 10);
}
function Moo_0(){
var href_0;
href_0 = getHref();
return $substring_0(href_0, 5, 10);
}
因此在编译时解决的重载将在 JS 中起作用。这样做的好处是不需要使用点运算符进行推荐。每个点都是一个新的查找。