Interface JSObject

  • 所有已知实现类:
    AbstractJSObjectScriptObjectMirror


    public interface JSObject
    该接口可以由任意Java类实现。 Nashorn将像nashorn脚本对象一样处理这些类的对象。 通常的nashorn操作,如obj [i],obj.foo,obj.func(),删除obj.foo将被委派给该接口的适当方法调用。
    从以下版本开始:
    1.8u40
    • 方法详细信息

      • call

        Object call​(Object thiz,
                    Object... args)
        将此对象称为JavaScript函数。 这相当于JavaScript中的“func.apply(thiz,args)”)。
        参数
        thiz - '这个'对象传递给函数。 这可能是空的。
        args - 方法的参数
        结果
        调用结果
      • newObject

        Object newObject​(Object... args)
        调用这个“构造函数”JavaScript函数来创建一个新对象。 这相当于JavaScript中的“new func(arg1,arg2 ...)”。
        参数
        args - 方法的参数
        结果
        构造函数调用的结果
      • eval

        Object eval​(String s)
        评估JavaScript表达式。
        参数
        s - 要评估的JavaScript表达式
        结果
        评价结果
      • getMember

        Object getMember​(String name)
        检索此JavaScript对象的命名成员。
        参数
        name - 的会员
        结果
        会员
        异常
        NullPointerException - 如果name为null
      • getSlot

        Object getSlot​(int index)
        检索此JavaScript对象的索引成员。
        参数
        index - 要检索的索引槽
        结果
        会员
      • hasMember

        boolean hasMember​(String name)
        该对象是否具有命名成员?
        参数
        name - 会员名称
        结果
        如果此对象具有给定名称的成员,则为true
      • hasSlot

        boolean hasSlot​(int slot)
        该对象是否具有索引属性?
        参数
        slot - 索引检查
        结果
        如果此对象有一个插槽,则为true
      • removeMember

        void removeMember​(String name)
        从此JavaScript对象中删除一个已命名的成员
        参数
        name - 会员姓名
        异常
        NullPointerException - 如果name为null
      • setMember

        void setMember​(String name,
                       Object value)
        在此JavaScript对象中设置一个命名成员
        参数
        name - 会员姓名
        value - 会员的价值
        异常
        NullPointerException - 如果name为null
      • setSlot

        void setSlot​(int index,
                     Object value)
        在此JavaScript对象中设置索引成员
        参数
        index - 成员插槽的索引
        value - 会员的价值
      • keySet

        Set<String> keySet​()
        返回此对象的所有属性名称集。
        结果
        一组属性名称
      • values

        Collection<Object> values​()
        返回此对象的所有属性值的集合。
        结果
        一组属性值。
      • isInstance

        boolean isInstance​(Object instance)
        检查给定对象是否为“this”对象的实例。
        参数
        instance - 要检查的实例
        结果
        如果给定的“实例”是此“函数”对象的实例,则为true
      • isInstanceOf

        boolean isInstanceOf​(Object clazz)
        检查此对象是否是给定的“clazz”对象的实例。
        参数
        clazz - clazz来检查
        结果
        如果此对象是给定的“clazz”的实例,则为true
      • getClassName

        String getClassName​()
        ECMA [[Class]]属性
        结果
        该对象的ECMA [[Class]]属性值
      • isFunction

        boolean isFunction​()
        这是一个函数对象吗?
        结果
        如果此镜像包装ECMAScript函数实例
      • isStrictFunction

        boolean isStrictFunction​()
        这是一个'使用strict'功能对象吗?
        结果
        如果此镜像代表ECMAScript“use strict”函数,则为true
      • isArray

        boolean isArray​()
        这是一个数组对象吗?
        结果
        如果此镜像包裹ECMAScript数组对象
      • getDefaultValue

        default Object getDefaultValue​(Class<?> hint)
                                throws UnsupportedOperationException
        根据ECMAScript 5.1第8.6.2节,实现该对象的 [[DefaultValue]]方法。
        参数
        hint - 类型提示。 应该是nullNumber.class或者String.class
        结果
        该对象的默认值。
        异常
        UnsupportedOperationException - 如果无法执行转换。 引擎将将此异常转换为JavaScript TypeError