public class BaseFunction extends IdScriptableObject implements Function
类型 | 属性和说明 |
---|---|
protected boolean |
hasPrototype |
CONST, DONTENUM, EMPTY, PERMANENT, READONLY, UNINITIALIZED_CONST
NOT_FOUND
构造器和说明 |
---|
BaseFunction() |
BaseFunction(Scriptable scope,
Scriptable prototype) |
限定符和类型 | 方法和说明 |
---|---|
java.lang.Object |
call(Context cx,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] args)
Should be overridden.
|
Scriptable |
construct(Context cx,
Scriptable scope,
java.lang.Object[] args)
Call the function as a constructor.
|
Scriptable |
createObject(Context cx,
Scriptable scope)
Creates new script object.
|
java.lang.Object |
execIdCall(IdFunctionObject f,
Context cx,
Scriptable scope,
Scriptable thisObj,
java.lang.Object[] args)
'thisObj' will be null if invoked as constructor, in which case
instance of Scriptable should be returned.
|
protected void |
fillConstructorProperties(IdFunctionObject ctor) |
protected int |
findInstanceIdInfo(java.lang.String s)
Map name to id of instance property.
|
protected int |
findPrototypeId(java.lang.String s) |
int |
getArity() |
java.lang.String |
getClassName()
Return the name of the class.
|
protected Scriptable |
getClassPrototype() |
java.lang.String |
getFunctionName() |
protected java.lang.String |
getInstanceIdName(int id)
Map id back to property name it defines.
|
protected java.lang.Object |
getInstanceIdValue(int id)
Get id value.
|
int |
getLength() |
protected int |
getMaxInstanceId()
Get maximum id findInstanceIdInfo can generate.
|
protected java.lang.Object |
getPrototypeProperty() |
java.lang.String |
getTypeOf()
Gets the value returned by calling the typeof operator on this object.
|
boolean |
hasInstance(Scriptable instance)
Implements the instanceof operator for JavaScript Function objects.
|
protected boolean |
hasPrototypeProperty() |
protected void |
initPrototypeId(int id) |
void |
setImmunePrototypeProperty(java.lang.Object value)
Make value as DontEnum, DontDelete, ReadOnly
prototype property of this Function object
|
protected void |
setInstanceIdValue(int id,
java.lang.Object value)
Set or delete id value.
|
activatePrototypeMap, addIdFunctionProperty, defaultGet, defaultPut, defineOwnProperty, delete, exportAsJSClass, get, getAttributes, getOwnPropertyDescriptor, has, hasPrototypeMap, incompatibleCallError, initPrototypeConstructor, initPrototypeMethod, initPrototypeValue, instanceIdInfo, put, setAttributes, setInstanceIdAttributes
applyDescriptorToAttributeBitset, associateValue, avoidObjectDetection, buildDataDescriptor, callMethod, callMethod, checkPropertyChange, checkPropertyDefinition, defineClass, defineClass, defineClass, defineConst, defineConstProperty, defineFunctionProperties, defineOwnProperties, defineOwnProperty, defineProperty, defineProperty, defineProperty, defineProperty, delete, deleteProperty, deleteProperty, ensureScriptable, ensureScriptableObject, equivalentValues, get, get, getAllIds, getArrayPrototype, getAssociatedValue, getAttributes, getAttributes, getAttributes, getClassPrototype, getDefaultValue, getDefaultValue, getFunctionPrototype, getGetterOrSetter, getIds, getObjectPrototype, getParentScope, getProperty, getProperty, getPropertyIds, getPrototype, getSlot, getTopLevelScope, getTopScopeValue, getTypedProperty, getTypedProperty, has, hasProperty, hasProperty, isAccessorDescriptor, isConst, isDataDescriptor, isEmpty, isExtensible, isFalse, isGenericDescriptor, isGetterOrSetter, isSealed, isTrue, preventExtensions, put, putConst, putConstProperty, putProperty, putProperty, redefineProperty, sameValue, sealObject, setAttributes, setAttributes, setAttributes, setGetterOrSetter, setParentScope, setPrototype, size
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
delete, delete, get, get, getDefaultValue, getIds, getParentScope, getPrototype, has, has, put, put, setParentScope, setPrototype
public BaseFunction()
public BaseFunction(Scriptable scope, Scriptable prototype)
public java.lang.String getClassName()
ScriptableObject
getClassName
在接口中 Scriptable
getClassName
在类中 ScriptableObject
public java.lang.String getTypeOf()
getTypeOf
在类中 ScriptableObject
ScriptableObject.avoidObjectDetection()
returns true
ScriptableObject.getTypeOf()
public boolean hasInstance(Scriptable instance)
foo = new Foo();
foo instanceof Foo; // true
hasInstance
在接口中 Scriptable
hasInstance
在类中 ScriptableObject
instance
- The value that appeared on the LHS of the instanceof
operatorprotected int getMaxInstanceId()
IdScriptableObject
getMaxInstanceId
在类中 IdScriptableObject
protected int findInstanceIdInfo(java.lang.String s)
IdScriptableObject
IdScriptableObject.instanceIdInfo(int, int)
.findInstanceIdInfo
在类中 IdScriptableObject
protected java.lang.String getInstanceIdName(int id)
IdScriptableObject
getInstanceIdName
在类中 IdScriptableObject
protected java.lang.Object getInstanceIdValue(int id)
IdScriptableObject
getInstanceIdValue
在类中 IdScriptableObject
protected void setInstanceIdValue(int id, java.lang.Object value)
IdScriptableObject
setInstanceIdValue
在类中 IdScriptableObject
protected void fillConstructorProperties(IdFunctionObject ctor)
protected void initPrototypeId(int id)
initPrototypeId
在类中 IdScriptableObject
public java.lang.Object execIdCall(IdFunctionObject f, Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
IdScriptableObject
execIdCall
在接口中 IdFunctionCall
execIdCall
在类中 IdScriptableObject
public void setImmunePrototypeProperty(java.lang.Object value)
protected Scriptable getClassPrototype()
public java.lang.Object call(Context cx, Scriptable scope, Scriptable thisObj, java.lang.Object[] args)
call
在接口中 Callable
call
在接口中 Function
cx
- the current Context for this threadscope
- the scope to execute the function relative to. This is
set to the value returned by getParentScope() except
when the function is called from a closure.thisObj
- the JavaScript this
objectargs
- the array of argumentspublic Scriptable construct(Context cx, Scriptable scope, java.lang.Object[] args)
Function
new
operator. This method is
expected to create a new object and return it.public Scriptable createObject(Context cx, Scriptable scope)
construct(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, java.lang.Object[])
uses the method to
to get the value for thisObj argument when invoking
call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])
.
The methos is allowed to return null to indicate that
call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])
will create a new object itself. In this case
construct(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, java.lang.Object[])
will set scope and prototype on the result
call(org.mozilla.javascript.Context, org.mozilla.javascript.Scriptable, org.mozilla.javascript.Scriptable, java.lang.Object[])
unless they are already set.public int getArity()
public int getLength()
public java.lang.String getFunctionName()
protected boolean hasPrototypeProperty()
protected java.lang.Object getPrototypeProperty()
protected int findPrototypeId(java.lang.String s)
findPrototypeId
在类中 IdScriptableObject