Obsolete since JSAPI 17
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.
Use JS_NumberValue
instead.
Create a floating-point jsval
Syntax
JSBool JS_NewDoubleValue(JSContext *cx, jsdouble d, jsval *rval);
Name | Type | Description |
---|---|---|
cx |
JSContext * |
The context in which to create the new number. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext . |
d |
jsdouble |
The numeric value to convert. This must not be a value that could fit in an integer jsval (see INT_FITS_IN_JSVAL ). |
rval |
jsval * |
Out parameter. On success, *rval receives a JavaScript number with the value d . |
Description
JS_NewDoubleValue
creates a floating-point jsval
.
Warning: The argument d
must not be a value that could fit in an integer jsval
. If it is, JS_NewDoubleValue
creates a bad jsval
that might behave as desired in some cases but not others.
The result is subject to garbage collection until you protect against it using a local root, an object property, or the JS_AddRoot
function. This can be avoided by using the address of a rooted variable as rval
.
On success, JS_NewDoubleValue
stores a numeric jsval
in *rval
and returns JS_TRUE
. Otherwise it returns JS_FALSE
and the value left in *rval
is unspecified.