mozilla
Your Search Results

    JS_CloneFunctionObject

    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 JS_CloneFunctionObject returns funobj itself. On failure, it returns NULL.

    See Also

    Document Tags and Contributors

    Contributors to this page: fscholz, Jimb, arai, MMondor, Brendan, Dria, Jorend
    Last updated by: arai,
    Hide Sidebar