GWT中的JavaScriptObject类是一个比较底层的类,
他把javascript对象包装后变成了一个Java对象,这样我们便可以通过Java语法来操作这个javascript对象了。
看一下这个类的源码,以下是他的3个静态方法,分别是创建javascript的数组,函数,对象。
这里用到了gwt的jsni(javascript native interface),jsni是java调用javascript的接口,我们所有的java代码到最后都是通过jsni来转变成javascript代码的。
他以 /*-{ 开头 以}-*/; 结尾
在这之间写的就是javascript代码了
/**
* 返回一个数组
*/
public static native JavaScriptObject createArray() /*-{
return [];
}-*/;
/**
* 返回一个空的函数
*/
public static native JavaScriptObject createFunction() /*-{
return function() {
};
}-*/;
/**
* 返回一个对象
*/
public static native JavaScriptObject createObject() /*-{
return {};
}-*/;
JavaScriptObject类有很多子类,他们都表示这是一个javascript对象,如下图所示
JsArray表示javascript的数组对象
JsArrayString表示存放string类型的数组
Node表示DOM中的基础数据类型node,他有3个子类,分别是Document,Element,Text
Document就是我们在js中写的document对象,他是整个html的根节点,下面是他的一个静态方法,来获取document(从中也可以看出$doc就指向document,我们在写native方法时可以直接用$doc)
/**
*
* @return 返回js中的document对象
*/
public static native Document get() /*-{
return $doc;
}-*/;
Element对应的就是js中的element对象了,他有很多子类,具体在Element学习中介绍吧