Mac Developer Library

Developer

JSBase.h Reference

Options
Deployment Target:

On This Page

JSBase.h Reference

Included Headers

  • <stdbool.h>

  • <Foundation/Foundation.h>

Functions

  • Checks for syntax errors in a string of JavaScript.

    Declaration

    JS_EXPORT bool JSCheckScriptSyntax( JSContextRef ctx, JSStringRef script, JSStringRef sourceURL, int startingLineNumber, JSValueRef *exception);

    Parameters

    ctx

    The execution context to use.

    script

    A JSString containing the script to check for syntax errors.

    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

    true if the script is syntactically correct, otherwise false.

  • Evaluates a string of JavaScript.

    Declaration

    JS_EXPORT JSValueRef JSEvaluateScript( JSContextRef ctx, JSStringRef script, JSObjectRef thisObject, JSStringRef sourceURL, int startingLineNumber, JSValueRef *exception);

    Parameters

    ctx

    The execution context to use.

    script

    A JSString containing the script to evaluate.

    thisObject

    The object to use as "this," or NULL to use the global object as "this."

    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 an exception, if any. Pass NULL if you do not care to store an exception.

    Return Value

    The JSValue that results from evaluating script, or NULL if an exception is thrown.

  • Performs a JavaScript garbage collection.

    Declaration

    JS_EXPORT void JSGarbageCollect( JSContextRef ctx);

    Parameters

    ctx

    The execution context to use.

    Discussion

    JavaScript values that are on the machine stack, in a register, protected by JSValueProtect, set as the global object of an execution context, or reachable from any such value will not be collected.

    During JavaScript execution, you are not required to call this function; the JavaScript engine will garbage collect as needed. JavaScript values created within a context group are automatically destroyed when the last reference to the context group is released.

Data Types

See the Overview section above for header-level documentation.

  • Declaration

    typedef struct OpaqueJSClass* JSClassRef;

    Discussion

    A JavaScript class. Used with JSObjectMake to construct objects with custom behavior.

    Import Statement

  • Declaration

    typedef const struct OpaqueJSContextGroup* JSContextGroupRef;

    Discussion

    A group that associates JavaScript contexts with one another. Contexts in the same group may share and exchange JavaScript objects.

    Import Statement

  • Declaration

    typedef const struct OpaqueJSContext* JSContextRef;

    Discussion

    A JavaScript execution context. Holds the global object and other execution state.

    Import Statement

  • Declaration

    typedef struct OpaqueJSContext* JSGlobalContextRef;

    Discussion

    A global JavaScript execution context. A JSGlobalContext is a JSContext.

    Import Statement

  • Declaration

    typedef struct OpaqueJSValue* JSObjectRef;

    Discussion

    A JavaScript object. A JSObject is a JSValue.

    Import Statement

  • Declaration

    typedef struct OpaqueJSPropertyNameAccumulator* JSPropertyNameAccumulatorRef;

    Discussion

    An ordered set used to collect the names of a JavaScript object's properties.

    Import Statement

  • Declaration

    typedef struct OpaqueJSPropertyNameArray* JSPropertyNameArrayRef;

    Discussion

    An array of JavaScript property names.

    Import Statement

  • Declaration

    typedef struct OpaqueJSString* JSStringRef;

    Discussion

    A UTF16 character buffer. The fundamental string representation in JavaScript.

    Import Statement

  • Declaration

    typedef const struct OpaqueJSValue* JSValueRef;

    Discussion

    A JavaScript value. The base type for all JavaScript values, and polymorphic functions on them.

    Import Statement