Obsolete since JSAPI 33
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
This article covers features introduced in SpiderMonkey 1.8.5
Please provide a description for this function.
Syntax
bool
JS_DefineOwnProperty(JSContext *cx, JS::HandleObject obj, JS::HandleId id,
                     JS::HandleValue descriptor, bool *bp);
| Name | Type | Description | 
|---|---|---|
| cx | JSContext * | The context. Requires request. In a JS_THREADSAFEbuild, the caller must be in a request on thisJSContext. | 
| obj | JS::HandleObject | Object on which the property should be defined own. | 
| id | JS::HandleId | The jsid of the property that should be defined. | 
| descriptor | JS::HandleValue | This should be an jsval consisting of an object interpretable as property descriptor. | 
| bp | bool * | trueif successful. | 
Description
JS_DefineOwnProperty implements the ECMAScript defined function Object.defineProperty. So the same restrictions apply as for that function (e.g. it is not possible to change a non-configurable property).
descriptor is supposed to be a property descriptor, this means you need to create an object with properties such as value, writable, get or set. See Object.defineProperty for a list of possible fields. A getter or setter defined with this functions will be observable from JS code.