Obsolete since JSAPI 36
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
Create a new Function
object from an existing JSFunction
.
Syntax
JSObject * JS_CloneFunctionObject(JSContext *cx, JSObject *funobj, JSObject *parent);
Name | Type | Description |
---|---|---|
cx |
JSContext * |
Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext . |
funobj |
JSObject * |
The Function to clone. |
parent |
JSObject * |
The new function's parent. |
Description
JS_CloneFunctionObject
creates a new function object from funobj
. The new object has the same code and argument list as funobj
, but uses parent
as its enclosing scope. This can be helpful if funobj
is an extant function that you wish to use as if it were enclosed by a newly-created global object.
The new object's prototype is Function.prototype
; JS_NewObject
: Choosing a Default Prototype explains exactly how this is computed. JS_CloneFunctionObject
takes care to choose a prototype that shares a global object with the given parent
whenever possible.
funobj
must be a pointer to a JavaScript function object (see JS_ObjectIsFunction
).
On success, JS_CloneFunctionObject
returns a pointer to the newly created object. If the class of funobj
is not Function, then
returns JS_CloneFunctionObject
funobj
itself. On failure, it returns NULL
.
See Also
- MXR ID Search for
JS_CloneFunctionObject
JS::CloneFunctionObject
- bug 1089026 renamed to
JS::CloneFunctionObject