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_THREADSAFE build, the caller must be in a request on this JSContext . |
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 getProperty and setProperty method for the properties to create. The last array element must contain 0 -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
.