INT_FITS_IN_JSVAL 编辑
Obsolete since JavaScript 1.8.5
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.
Determines if a specified C integer is safe to pass to INT_TO_JSVAL
.
Syntax
#define INT_FITS_IN_JSVAL(i) /* ... */
Name | Type | Description |
---|---|---|
i | jsint | The C integer value to check. |
Description
Determines if a specified C integer value, i
, lies within the range allowed for integer jsval
s. If so, INT_FITS_IN_JSVAL
returns TRUE
, and i
can be cast to jsval
by calling
. Otherwise, INT_TO_JSVAL
(i)INT_FITS_IN_JSVAL
returns FALSE
. In this case, the application can still convert i
to a jsval
using JS_NewNumberValue
.
i
must be jsint
, but the C/C++ compiler does not enforce type safety here. If i
is an unsigned or 64-bit value, INT_FITS_IN_JSVAL
can silently give the wrong answer.Starting in SpiderMonkey 1.8.5, jsval
can store a full 32-bit integer, so this check isn't needed any longer for 32-bit integers.
Example
The following code snippet illustrates how a C variable, item
, is conditionally tested in an if
statement to see if it is a legal jsval
integer value.
if (INT_FITS_IN_JSVAL(item)) {
/* ... */
} else {
JS_ReportError(cx, "Integer out of range: %d", item);
}
See Also
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论