Define multiple properties for a single object.
Syntax
bool JS_DefineProperties(JSContext *cx, JS::HandleObject obj, const JSPropertySpec *ps);
| Name | Type | Description | 
|---|---|---|
| cx | JSContext * | The context in which to define the properties. Requires request. In a JS_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| obj | JSObject * | The object on which to define new properties. | 
| ps | const JSPropertySpec * | Pointer to the first element of an array containing names, ids, flags, and getPropertyandsetPropertymethod for the properties to create. The last array element must contain0-valued members. | 
 In SpiderMonkey versions prior to SpiderMonkey 24, the last argument to 
JS_DefinePropeties was not const.Description
JS_DefineProperties creates properties on a specified object, obj.
ps is a pointer to the first element of an array of JSPropertySpec structures. Each array element defines a single property: its name, attributes, getter, and setter. The name field of the last array element must be NULL. JS_DefineProperties creates one property for each element in the array before the element with a null name field. Each property is defined as though by calling JS_DefineProperties.
The initial stored value of each property created is undefined.
On success, JS_DefineProperties returns true, indicating it has created all properties listed in the array. Otherwise it returns false.