Module jdk.jsobject

Class JSObject

java.lang.Object
netscape.javascript.JSObject

public abstract class JSObject extends Object

允许Java代码操作JavaScript对象。

当将JavaScript对象传递或返回给Java代码时,它会被包装在JSObject的实例中。当将JSObject实例传递给JavaScript引擎时,它会被解包回其原始的JavaScript对象。JSObject类提供了一种调用JavaScript方法和检查JavaScript属性的方式。

从JavaScript引擎返回到Java的任何数据都会转换为Java数据类型。将某些数据传递给JavaScript引擎会转换为JavaScript数据类型。

  • Constructor Details

    • JSObject

      protected JSObject()
      构造一个新的JSObject。用户既不应调用此方法,也不应对JSObject进行子类化。
  • Method Details

    • call

      public abstract Object call(String methodName, Object... args) throws JSException
      调用JavaScript方法。相当于JavaScript中的"this.methodName(args[0], args[1], ...)"。
      参数:
      methodName - 要调用的JavaScript方法的名称。
      args - 作为参数传递给方法的Java对象。
      返回:
      方法的结果。
      抛出:
      JSException - 当浏览器或JavaScript引擎报告错误时。
    • eval

      public abstract Object eval(String s) throws JSException
      评估JavaScript表达式。表达式是将在“this”给定的上下文中评估的JavaScript源代码字符串。
      参数:
      s - JavaScript表达式。
      返回:
      JavaScript评估的结果。
      抛出:
      JSException - 当浏览器或JavaScript引擎报告错误时。
    • getMember

      public abstract Object getMember(String name) throws JSException
      检索JavaScript对象的命名成员。相当于JavaScript中的"this.name"。
      参数:
      name - 要访问的JavaScript属性的名称。
      返回:
      属性的值。
      抛出:
      JSException - 当浏览器或JavaScript引擎报告错误时。
    • setMember

      public abstract void setMember(String name, Object value) throws JSException
      设置JavaScript对象的命名成员。相当于JavaScript中的"this.name = value"。
      参数:
      name - 要访问的JavaScript属性的名称。
      value - 属性的值。
      抛出:
      JSException - 当浏览器或JavaScript引擎报告错误时。
    • removeMember

      public abstract void removeMember(String name) throws JSException
      删除JavaScript对象的命名成员。相当于JavaScript中的"delete this.name"。
      参数:
      name - 要移除的JavaScript属性的名称。
      抛出:
      JSException - 当浏览器或JavaScript引擎报告错误时。
    • getSlot

      public abstract Object getSlot(int index) throws JSException
      检索JavaScript对象的索引成员。相当于JavaScript中的"this[index]"。
      参数:
      index - 要访问的数组的索引。
      返回:
      索引成员的值。
      抛出:
      JSException - 当浏览器或JavaScript引擎报告错误时。
    • setSlot

      public abstract void setSlot(int index, Object value) throws JSException
      设置JavaScript对象的索引成员。相当于JavaScript中的"this[index] = value"。
      参数:
      index - 要访问的数组的索引。
      value - 要设置的值。
      抛出:
      JSException - 当浏览器或JavaScript引擎报告错误时。