Initializes general JS function and object classes, and the built-in object classes used in most scripts.
Syntax
bool JS_InitStandardClasses(JSContext *cx, JS::Handle<JSObject*> obj);
| Name | Type | Description | 
|---|---|---|
| cx | JSContext * | Pointer to the executable script context for which to initialize JS function and object classes. Requires request. In a JS_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| obj | JS::Handle<JSObject*> | The global object to initialize. This object must be of a JSClassthat has theJSCLASS_GLOBAL_FLAGSbits set. | 
Description
JS_InitStandardClasses initializes the built-in JavaScript global properties. These include all the standard ECMAScript global properties defined in ECMA 262-3 §15.1:
- 
  Array,Boolean,Date,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Error,eval,EvalError,Function,Infinity,isNaN,isFinite,Math,NaN,Number,Object,parseInt,parseFloat,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,undefined, andURIError
as well as a few SpiderMonkey-specific globals, depending on compile-time options:
- 
  escape,unescape,uneval,InternalError,Script,XML,Namespace,QName,File,Generator,Iterator, andStopIteration, as of SpiderMonkey 1.7.
These global objects, functions, constructors, and constants are created as properties of obj. As a side effect, JS_InitStandardClasses establishes obj as the global object for cx, if one is not already established. This means that scripts executed in cx will see the properties of obj as global variables. See JS_SetGlobalObject for details.
obj must be of a JSClass that has the JSCLASS_GLOBAL_FLAGS flag.
JS_InitStandardClasses returns JS_TRUE on success, and JS_FALSE if an error occurs.
To initialize custom classes, use JS_InitClass.