JS和Java是兩種不同的編程語言,而它們的語法和用法也有很多不同之處。盡管如此,有時候我們也可以通過特定的方式,使JS和Java的代碼得以通用。具體來說,這種方式就是“JavaScript Native Interface” (JSNI)。
JSNI是GWT框架提供的一個JavaScript與Java交互的接口。通過JSNI,我們可以在Java代碼中引用JavaScript的方法或變量,實現代碼的互通。舉個例子,我們可以在Java中使用JSNI來使JavaScript的alert方法彈出一個警告框:
native void alert(String message) /*-{ $wnd.alert(message); }-*/;
正如上面所示的代碼片段一樣,使用JSNI需要使用“native”關鍵字,并將目標JavaScript代碼包含在注釋符“/- { … } -/”中。
當然,我們也可以使用反向的方式,即在JavaScript中使用JSNI調用Java代碼。這種方式同樣需要使用“native”關鍵字,并且需要在代碼片段中進行約定的書寫方式。
var MyJavaClass = Java.type('com.example.MyJavaClass'); MyJavaClass.method1(myString, myInt);
正如上面代碼中一樣,我們可以使用“Java.type”獲取Java類,并調用其方法。
總之,盡管JS和Java語法和用法方面有所差異,但是通過JSNI的方式,我們可以實現這兩種語言代碼的通用并且互通,我們只需要注意每一種語言的書寫方式即可。
上一篇php 二維數組 下標
下一篇php 交易平臺