Interface JSObject

  • 所有已知实现类:
    AbstractJSObjectScriptObjectMirror

    @Deprecated(since="11",
                forRemoval=true)
    public interface JSObject
    Deprecated, for removal: This API element is subject to removal in a future version.
    Nashorn JavaScript script engine and APIs, and the jjs tool are deprecated with the intent to remove them in a future release.
    该接口可以由任意Java类实现。 Nashorn将像nashorn脚本对象一样处理这些类的对象。 通常的nashorn操作如obj [i],obj.foo,obj.func(),delete obj.foo将被委托给该接口的适当方法调用。
    从以下版本开始:
    1.8u40
    • 方法摘要

      所有方法  实例方法 抽象方法  Default Methods  弃用的方法 
      变量和类型 方法 描述
      Object call​(Object thiz, Object... args)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      将此对象称为JavaScript函数。
      Object eval​(String s)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      评估JavaScript表达式。
      String getClassName()
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      ECMA [[Class]]财产
      default Object getDefaultValue​(<?> hint)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      根据ECMAScript 5.1第8.6.2节实现此对象的 [[DefaultValue]]方法。
      Object getMember​(String name)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      检索此JavaScript对象的命名成员。
      Object getSlot​(int index)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      检索此JavaScript对象的索引成员。
      boolean hasMember​(String name)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      这个对象有一个命名成员吗?
      boolean hasSlot​(int slot)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      此对象是否具有索引属性?
      boolean isArray()
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      这是一个数组对象吗?
      boolean isFunction()
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      这是一个功能对象吗?
      boolean isInstance​(Object instance)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      检查给定对象是否是“this”对象的实例。
      boolean isInstanceOf​(Object clazz)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      检查此对象是否是给定“clazz”对象的实例。
      boolean isStrictFunction()
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      这是一个'use strict'函数对象吗?
      Set<String> keySet()
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      返回此对象的所有属性名称的集合。
      Object newObject​(Object... args)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      调用此'constructor'JavaScript函数来创建一个新对象。
      void removeMember​(String name)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      从此JavaScript对象中删除命名成员
      void setMember​(String name, Object value)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      在此JavaScript对象中设置命名成员
      void setSlot​(int index, Object value)
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      在此JavaScript对象中设置索引成员
      default double toNumber()
      已过时。
      请改用getDefaultValue(Class)Number提示。
      Collection<Object> values()
      不推荐使用,要删除:此API元素将在以后的版本中删除。
      返回此对象的所有属性值的集合。
    • 方法详细信息

      • call

        Object call​(Object thiz,
                    Object... args)
        Deprecated, for removal: This API element is subject to removal in a future version.
        将此对象称为JavaScript函数。 这相当于JavaScript中的'func.apply(thiz,args)'。
        参数
        thiz - 要传递给函数的'this'对象。 这可能是空的。
        args - 方法的参数
        结果
        通话结果
      • newObject

        Object newObject​(Object... args)
        Deprecated, for removal: This API element is subject to removal in a future version.
        调用此'constructor'JavaScript函数来创建一个新对象。 这相当于JavaScript中的'new func(arg1,arg2 ...)'。
        参数
        args - 方法的参数
        结果
        构造函数调用的结果
      • eval

        Object eval​(String s)
        Deprecated, for removal: This API element is subject to removal in a future version.
        评估JavaScript表达式。
        参数
        s - 要评估的JavaScript表达式
        结果
        评价结果
      • getMember

        Object getMember​(String name)
        Deprecated, for removal: This API element is subject to removal in a future version.
        检索此JavaScript对象的命名成员。
        参数
        name - 成员
        结果
        会员
        异常
        NullPointerException - 如果name为null
      • getSlot

        Object getSlot​(int index)
        Deprecated, for removal: This API element is subject to removal in a future version.
        检索此JavaScript对象的索引成员。
        参数
        index - 要检索的索引槽
        结果
        会员
      • hasMember

        boolean hasMember​(String name)
        Deprecated, for removal: This API element is subject to removal in a future version.
        这个对象有一个命名成员吗?
        参数
        name - 成员名称
        结果
        如果此对象具有给定名称的成员,则返回true
      • hasSlot

        boolean hasSlot​(int slot)
        Deprecated, for removal: This API element is subject to removal in a future version.
        此对象是否具有索引属性?
        参数
        slot - 要检查的索引
        结果
        如果此对象有一个插槽,则为true
      • removeMember

        void removeMember​(String name)
        Deprecated, for removal: This API element is subject to removal in a future version.
        从此JavaScript对象中删除命名成员
        参数
        name - 成员的名字
        异常
        NullPointerException - 如果name为null
      • setMember

        void setMember​(String name,
                       Object value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        在此JavaScript对象中设置命名成员
        参数
        name - 成员的名字
        value - 成员的值
        异常
        NullPointerException - 如果name为null
      • setSlot

        void setSlot​(int index,
                     Object value)
        Deprecated, for removal: This API element is subject to removal in a future version.
        在此JavaScript对象中设置索引成员
        参数
        index - 成员槽的索引
        value - 成员的值
      • keySet

        Set<String> keySet()
        Deprecated, for removal: This API element is subject to removal in a future version.
        返回此对象的所有属性名称的集合。
        结果
        一组属性名称
      • values

        Collection<Object> values()
        Deprecated, for removal: This API element is subject to removal in a future version.
        返回此对象的所有属性值的集合。
        结果
        一组属性值。
      • isInstance

        boolean isInstance​(Object instance)
        Deprecated, for removal: This API element is subject to removal in a future version.
        检查给定对象是否是“this”对象的实例。
        参数
        instance - 要检查的实例
        结果
        如果给定的'instance'是此'function'对象的实例,则返回true
      • isInstanceOf

        boolean isInstanceOf​(Object clazz)
        Deprecated, for removal: This API element is subject to removal in a future version.
        检查此对象是否是给定“clazz”对象的实例。
        参数
        clazz - 要检查的clazz
        结果
        如果此对象是给定'clazz'的实例,则返回true
      • getClassName

        String getClassName()
        Deprecated, for removal: This API element is subject to removal in a future version.
        ECMA [[Class]]财产
        结果
        ECMA [[Class]]此对象的属性值
      • isFunction

        boolean isFunction()
        Deprecated, for removal: This API element is subject to removal in a future version.
        这是一个功能对象吗?
        结果
        如果此镜像包装ECMAScript函数实例
      • isStrictFunction

        boolean isStrictFunction()
        Deprecated, for removal: This API element is subject to removal in a future version.
        这是一个'use strict'函数对象吗?
        结果
        如果此镜像表示ECMAScript的“use strict”函数,则返回true
      • isArray

        boolean isArray()
        Deprecated, for removal: This API element is subject to removal in a future version.
        这是一个数组对象吗?
        结果
        如果此镜像包装ECMAScript数组对象
      • getDefaultValue

        default Object getDefaultValue​(<?> hint)
                                throws UnsupportedOperationException
        Deprecated, for removal: This API element is subject to removal in a future version.
        根据ECMAScript 5.1第8.6.2节实现此对象的 [[DefaultValue]]方法。
        参数
        hint - 类型提示。 应该是nullNumber.classString.class
        结果
        此对象的默认值。
        异常
        UnsupportedOperationException - 如果无法执行转换。 引擎会将此异常转换为JavaScript TypeError