- java.lang.Object
-
- jdk.nashorn.api.scripting.AbstractJSObject
-
- All Implemented Interfaces:
-
JSObject
- 已知直接子类:
-
ScriptObjectMirror
public abstract class AbstractJSObject extends Object implements JSObject
这是nashorn ScriptObjectMirror类的基类。 这个类也可以被任意的Java类子类化。 Nashorn将像nashorn脚本对象一样处理这些类的对象。 通常的nashorn操作,如obj [i],obj.foo,obj.func(),delete obj.foo将被委派给该类的适当方法调用。- 从以下版本开始:
- 1.8u40
-
-
构造方法摘要
构造方法 Constructor 描述 AbstractJSObject()默认构造函数。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 弃用的方法 Modifier and Type 方法 描述 Objectcall(Object thiz, Object... args)将此对象称为JavaScript函数。Objecteval(String s)评估JavaScript表达式。StringgetClassName()ECMA [[Class]]属性static ObjectgetDefaultValue(JSObject jsobj, Class<?> hint)已过时。ObjectgetMember(String name)检索此JavaScript对象的命名成员。ObjectgetSlot(int index)检索此JavaScript对象的索引成员。booleanhasMember(String name)该对象是否具有命名成员?booleanhasSlot(int slot)该对象是否具有索引属性?booleanisArray()这是一个数组对象吗?booleanisFunction()这是一个函数对象吗?booleanisInstance(Object instance)检查给定对象是否为“this”对象的实例。booleanisInstanceOf(Object clazz)检查此对象是否是给定的“clazz”对象的实例。booleanisStrictFunction()这是一个'使用strict'功能对象吗?Set<String>keySet()返回此对象的所有属性名称集。ObjectnewObject(Object... args)调用这个“构造函数”JavaScript函数来创建一个新对象。voidremoveMember(String name)从此JavaScript对象中删除一个已命名的成员voidsetMember(String name, Object value)在此JavaScript对象中设置一个命名成员voidsetSlot(int index, Object value)在此JavaScript对象中设置索引成员doubletoNumber()已过时。Collection<Object>values()返回此对象的所有属性值的集合。-
Methods inherited from interface jdk.nashorn.api.scripting.JSObject
getDefaultValue
-
-
-
-
方法详细信息
-
call
public Object call(Object thiz, Object... args)
说明从接口JSObject复制将此对象称为JavaScript函数。 这相当于JavaScript中的“func.apply(thiz,args)”)。
-
newObject
public Object newObject(Object... args)
说明从接口JSObject复制调用这个“构造函数”JavaScript函数来创建一个新对象。 这相当于JavaScript中的“new func(arg1,arg2 ...)”。
-
hasSlot
public boolean hasSlot(int slot)
描述从接口JSObject复制该对象是否具有索引属性?
-
removeMember
public void removeMember(String name)
描述从接口JSObject复制从此JavaScript对象中删除一个已命名的成员- Specified by:
-
removeMember在接口JSObject - 实现要求:
- 这个实现是一个不起作用的
- 参数
-
name- 会员姓名
-
values
public Collection<Object> values()
说明从接口JSObject复制返回此对象的所有属性值的集合。
-
isInstance
public boolean isInstance(Object instance)
描述从接口JSObject复制检查给定对象是否为“this”对象的实例。- Specified by:
-
isInstance在接口JSObject - 实现要求:
- 此实现始终返回false
- 参数
-
instance- 要检查的实例 - 结果
- 如果给定的“实例”是此“函数”对象的实例,则为true
-
isInstanceOf
public boolean isInstanceOf(Object clazz)
描述从接口JSObject复制检查此对象是否是给定的“clazz”对象的实例。- Specified by:
-
isInstanceOf在接口JSObject - 参数
-
clazz- clazz来检查 - 结果
- 如果此对象是给定的“clazz”的实例,则为true
-
getClassName
public String getClassName()
说明从接口JSObject复制ECMA [[Class]]属性- Specified by:
-
getClassName在接口JSObject - 结果
- 该对象的ECMA [[Class]]属性值
-
isFunction
public boolean isFunction()
说明从接口JSObject复制这是一个函数对象吗?- Specified by:
-
isFunction在接口JSObject - 实现要求:
- 此实现始终返回false
- 结果
- 如果此镜像包装ECMAScript函数实例
-
isStrictFunction
public boolean isStrictFunction()
描述从接口JSObject复制这是一个'使用strict'功能对象吗?- Specified by:
-
isStrictFunction在接口JSObject - 实现要求:
- 此实现始终返回false
- 结果
- 如果此镜像代表ECMAScript“use strict”函数,则为true
-
isArray
public boolean isArray()
说明从接口JSObject复制这是一个数组对象吗?
-
toNumber
@Deprecated public double toNumber()
已过时。 使用JSObject.getDefaultValue(Class)与Number提示相反。返回此对象的数值。
-
getDefaultValue
@Deprecated public static Object getDefaultValue(JSObject jsobj, Class<?> hint)
已过时。 请改用JSObject.getDefaultValue(Class)。当通过一个AbstractJSObject时 ,调用其JSObject.getDefaultValue(Class)方法。 当通过其他JSObject时 ,将按照ECMAScript 5.1第8.6.2节获得其[[DefaultValue]]方法。- 参数
-
jsobj- 其获得[[DefaultValue]]的[[DefaultValue]]。 -
hint- 类型提示。 应该是null,Number.class或者String.class。 - 结果
- 该对象的默认值。
- 异常
-
UnsupportedOperationException- 如果无法执行转换。 引擎将此异常转换为JavaScriptTypeError。
-
-