Function

JSObjectMakeFunction(_:_:_:_:_:_:_:_:)

Creates a function with a given script as its body.

Declaration

func JSObjectMakeFunction(_ ctx: JSContextRef!, _ name: JSStringRef!, _ parameterCount: UInt32, _ parameterNames: UnsafePointer<JSStringRef?>!, _ body: JSStringRef!, _ sourceURL: JSStringRef!, _ startingLineNumber: Int32, _ exception: UnsafeMutablePointer<JSValueRef?>!) -> JSObjectRef!

Parameters

ctx

The execution context to use.

name

A JSString containing the function's name. This will be used when converting the function to string. Pass NULL to create an anonymous function.

parameterCount

An integer count of the number of parameter names in parameterNames.

parameterNames

A JSString array containing the names of the function's parameters. Pass NULL if parameterCount is 0.

body

A JSString containing the script to use as the function's body.

sourceURL

A JSString containing a URL for the script's source file. This is only used when reporting exceptions. Pass NULL if you do not care to include source file information in exceptions.

startingLineNumber

An integer value specifying the script's starting line number in the file located at sourceURL. This is only used when reporting exceptions.

exception

A pointer to a JSValueRef in which to store a syntax error exception, if any. Pass NULL if you do not care to store a syntax error exception.

Return Value

A JSObject that is a function, or NULL if either body or parameterNames contains a syntax error. The object's prototype will be the default function prototype.

Discussion

Use this method when you want to execute a script repeatedly, to avoid the cost of re-parsing the script before each execution.