Obsolete since JSAPI 39
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.
Removes a specified element or numeric property from an object.
Renamed to JS_DeleteElement in JSAPI 39
Syntax
bool
JS_DeleteElement2(JSContext *cx, JS::HandleObject obj, uint32_t index,
bool *succeeded);
| Name | Type | Description |
|---|---|---|
cx |
JSContext * |
Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext. |
obj |
JS::HandleObject |
Object from which to delete an element. |
index |
uint32_t |
Index number of the element to delete. |
succeeded |
bool * |
Out parameter. On success, *succeeded receives false if the property was not deleted because it is permanent and true otherwise. |
Description
JS_DeleteElement2 removes a specified element or numeric property, index, from an object, obj. If an object references an element belonging to a prototype, the element reference is removed from the object, but the prototype's element is not deleted. If deletion is successful, JS_DeleteElement2 stores true to *succeeded and returns true. Otherwise it returns false and the value of *succeeded is undefined.
Notes
Per the ECMA standard, JS_DeleteElement2 removes read-only properties from objects as long as they are not also permanent.
For JavaScript 1.2 and earlier, if deletion fails because the property is permanent, JS_DeleteElement2 reports the error and returns false. For JavaScript 1.3, the attempt is silently ignored. In both these cases, *succeeded will receive the stored value of the property that was not deleted.
To remove all properties from an object, call JS_ClearScope.
See Also
- MXR ID Search for
JS_DeleteElement2 - bug 1113369 -- added
resultparameter
