ADC Home > Reference Library > Reference > Carbon > Internet & Web > JavaScriptCore Framework Reference

 


JSBase.h

Includes:
<stdbool.h>

Overview



Functions

JSCheckScriptSyntax
Checks for syntax errors in a string of JavaScript.
JSEvaluateScript
Evaluates a string of JavaScript.
JSGarbageCollect
Performs a JavaScript garbage collection.

JSCheckScriptSyntax


Checks for syntax errors in a string of JavaScript.

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.


JSEvaluateScript


Evaluates a string of JavaScript.

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.


JSGarbageCollect


Performs a JavaScript garbage collection.

void JSGarbageCollect(
    JSContextRef ctx);  
Parameters
ctx
This parameter is currently unused. Pass NULL.
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. One place you may want to call this function, however, is after releasing the last reference to a JSGlobalContextRef. At that point, a garbage collection can free the objects still referenced by the JSGlobalContextRef's global object, along with the global object itself.

Typedefs


JSClassRef


typedef struct OpaqueJSClass* JSClassRef;  
Discussion

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


JSContextRef


typedef const struct OpaqueJSContext* JSContextRef;  
Discussion

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


JSGlobalContextRef


typedef struct OpaqueJSContext* JSGlobalContextRef;  
Discussion

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


JSObjectRef


typedef struct OpaqueJSValue* JSObjectRef;  
Discussion

A JavaScript object. A JSObject is a JSValue.


JSPropertyNameAccumulatorRef


typedef struct OpaqueJSPropertyNameAccumulator* JSPropertyNameAccumulatorRef;  
Discussion

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


JSPropertyNameArrayRef


typedef struct OpaqueJSPropertyNameArray* JSPropertyNameArrayRef;  
Discussion

An array of JavaScript property names.


JSStringRef


typedef struct OpaqueJSString* JSStringRef;  
Discussion

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


JSValueRef


typedef const struct OpaqueJSValue* JSValueRef;  
Discussion

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


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.
Last Updated: 2008-03-11