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
result
parameter