JavaScript Number 对象参考手册
Number 对象
Number 对象是原始数值的包装对象。
创建 Number 对象的语法:
var myNum=new Number(value);
var myNum=Number(value);
参数
参数 value 是要创建的 Number 对象的数值,或是要转换成数字的值。
返回值
当 Number() 和运算符 new 一起作为构造函数使用时,它返回一个新创建的 Number 对象。如果不用 new 运算符,把 Number() 作为一个函数来调用,它将把自己的参数转换成一个原始的数值,并且返回这个值(如果转换失败,则返回 NaN)。
Number 对象属性
FF:Firefox, IE: Internet Explorer
属性 | 描述 | FF | IE |
constructor | 返回对创建此对象的 Number 函数的引用。 | 1.0 | 4.0 |
MAX_VALUE | 可表示的最大的数。 | 1.0 | 4.0 |
MIN_VALUE | 可表示的最小的数。 | 1.0 | 4.0 |
NaN | 非数字值。 | 1.0 | 4.0 |
NEGATIVE_INFINITY | 负无穷大,溢出时返回该值。 | 1.0 | 4.0 |
POSITIVE_INFINITY | 正无穷大,溢出时返回该值。 | 1.0 | 4.0 |
prototype | 使您有能力向对象添加属性和方法。 | 1.0 | 4.0 |
constructor 属性
定义和用法
constructor属性返回对创建此对象的 Boolean 函数的引用。
语法
object.constructor
实例
在本例中,我们将展示如何使用 constructor 属性:
<script type="text/javascript">
var test=new Boolean();
if (test.constructor==Array
)
{
document.write("This is an Array");
}
if (test.constructor==Boolean
)
{
document.write("This is a Boolean");
}
if (test.constructor==Date
)
{
document.write("This is a Date");
}
if (test.constructor==String
)
{
document.write("This is a String");
}
</script>
输出:
This is a Boolean
MAX_VALUE 属性
定义和用法
MAX_VALUE 属性是JavaScript 中可表示的最大的数。它的近似值为 1.7976931348623157 x 10308。
语法
Number.MAX_VALUE
实例
返回 JavaScript 中可能的最大值:
<script type="text/javascript">
document.write(Number.MAX_VALUE
);
</script>
输出:
1.7976931348623157e+308
MIN_VALUE 属性
定义和用法
MIN_VALUE 属性是JavaScript 中可表示的最小的数(接近 0 ,但不是负数)。它的近似值为 5 x 10-324。
语法
Number.MIN_VALUE
实例
返回 JavaScript 中可能的最小值:
<script type="text/javascript">
document.write(Number.MIN_VALUE
);
</script>
输出:
5e-324
NaN 属性
定义和用法
NaN 属性是代表非数字值的特殊值。该属性用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
提示:请使用 isNaN() 全局函数来判断一个值是否是 NaN 值。
语法
Number.NaN
说明
Number.NaN是一个特殊值,说明某些算术运算(如求负数的平方根)的结果不是数字。方法 parseInt() 和parseFloat() 在不能解析指定的字符串时就返回这个值。对于一些常规情况下返回有效数字的函数,也可以采用这种方法,用 Number.NaN 说明它的错误情况。
JavaScript以 NaN 的形式输出 Number.NaN。请注意,NaN 与其他数值进行比较的结果总是不相等的,包括它自身在内。因此,不能与Number.NaN 比较来检测一个值是不是数字,而只能调用 isNaN() 来比较。
在 ECMAScript v1 和其后的版本中,还可以用预定义的全局属性 NaN 代替 Number.NaN。
提示和注释
提示:请使用 isNaN() 来判断一个值是否是数字。原因是 NaN 与所有值都不相等,包括它自己。
实例
用 NaN 指示某个值是否是数字:
<script type="text/javascript">
var Month=30;
if (Month < 1 || Month > 12)
{
Month = Number.NaN
;
}
document.write(Month);
</script>
输出:
Nan
NEGATIVE_INFINITY 属性
定义和用法
NEGATIVE_INFINITY属性表示小于 Number.MIN_VALUE 的值。
该值代表负无穷大。
语法
Number.NEGATIVE_INFINITY
说明
Number.NEGATIVE_INFINITY是一个特殊值,它在算术运算或函数生成一个比JavaScript 能表示的最小负数还小的数(也就是比 -Number.MAX_VALUE 还小的数)时返回。
JavaScript显示 NEGATIVE_INFINITY 时使用的是 -Infinity。这个值的算术行为和无穷大非常相似。例如,任何数乘无穷大结果仍为无穷大,任何数被无穷大除的结果为 0。
在 ECMAScript v1 和其后的版本中,还可以用 -Infinity 代替 Number.NEGATIVE_INFINITY。
实例
在本例中,我们将使用 NEGATIVE_INFINITY:
<script type="text/javascript">
var x=(-Number.MAX_VALUE)*2
if (x==Number.NEGATIVE_INFINITY
)
{
document.write("Value of x: " + x);
}
</script>
输出:
Value of x: -Infinity
POSITIVE_INFINITY 属性
定义和用法
POSITIVE_INFINITY属性表示大于 Number.MAX_VALUE 的值。
该值代表正无穷大。
语法
Number.POSITIVE_INFINITY
说明
Number.POSITIVE_INFINITY是一个特殊值,它在算术运算或函数生成一个比JavaScript 能表示的最大的数还大的数(也就是比 Number.MAX_VALUE 还大的数)时返回。
JavaScript显示 POSITIVE_INFINITY 时使用的是 Infinity。这个值的算术行为和无穷大非常相似。例如,任何数乘无穷大结果仍为无穷大,任何数被无穷大除的结果为 0。
在 ECMAScript v1 和其后的版本中,还可以用 Infinity 代替 Number.POSITIVE_INFINITY。
实例
在本例中,我们将使用 POSITIVE_INFINITY:
<script type="text/javascript">
var x=(Number.MAX_VALUE)*2
if (x==Number.POSITIVE_INFINITY
)
{
document.write("Value of x: " + x);
}
</script>
输出:
Value of x: Infinity
Number 对象方法
FF:Firefox, IE: Internet Explorer
方法 | 描述 | FF | IE |
toString | 把数字转换为字符串,使用指定的基数。 | 1.0 | 4.0 |
toLocaleString | 把数字转换为字符串,使用本地数字格式顺序。 | 1.0 | 4.0 |
toFixed | 把数字转换为字符串,结果的小数点后有指定位数的数字。 | 1.0 | 5.5 |
toExponential | 把对象的值转换为指数计数法。 | 1.0 | 5.5 |
toPrecision | 把数字格式化为指定的长度。 | 1.0 | 5.5 |
valueOf | 返回一个 Number 对象的基本数字值。 | 1.0 | 4.0 |
toString() 方法
定义和用法
toString()方法可把一个 Number 对象转换为一个字符串,并返回结果。
语法
NumberObject.toString(radix)
参数 | 描述 |
radix | 可选。规定表示数字的基数,使 2 ~ 36 之间的整数。若省略该参数,则使用基数 10。但是要注意,如果该参数是 10 以外的其他值,则 ECMAScript 标准允许实现返回任意值。 |
返回值
数字的字符串表示。例如,当 radix 为 2 时,NumberObject 会被转换为二进制值表示的字符串。
抛出
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把一个数字转换为字符串:
<script type="text/javascript">
var number = new Number(1337);
document.write (number.toString())
</script>
输出:
1337
toLocaleString() 方法
定义和用法
toLocaleString()方法可把一个 Number 对象转换为本地格式的字符串。
语法
NumberObject.toLocaleString()
返回值
数字的字符串表示,由实现决定,根据本地规范进行格式化,可能影响到小数点或千分位分隔符采用的标点符号。
抛出
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
toFixed() 方法
定义和用法
toFixed()方法可把 Number 四舍五入为指定小数位数的数字。
语法
NumberObject.toFixed(num)
参数 | 描述 |
num | 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。 |
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把数字舍入为仅有一位小数的数字:
Show the number 13.37 with one decimal:
<script type="text/javascript">
var num = new Number(13.37);
document.write (num.toFixed(1))
</script>
输出:
Show the number 13.37 with one decimal:
13.4
toExponential() 方法
定义和用法
toExponential()方法可把对象的值转换成指数计数法。
语法
NumberObject.toExponential(num)
参数 | 描述 |
num | 必需。规定指数计数法中的小数位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将使用尽可能多的数字。 |
返回值
返回 NumberObject 的字符串表示,采用指数计数法,即小数点之前有一位数字,小数点之后有 num 位数字。该数字的小数部分将被舍入,必要时用 0 补足,以便它达到指定的长度。
抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把一个数字转换为指数计数法:
Show 10,000 as an exponential notation:
<script type="text/javascript">
var num = new Number(10000);
document.write (num.toExponential(1))
</script>
输出:
Show 10,000 as an exponential notation:
1.0e+4
toPrecision() 方法
定义和用法
toPrecision()方法可在对象的值超出指定位数时将其转换为指数计数法。
语法
NumberObject.toPrecision(num)
参数 | 描述 |
num | 必需。规定必须被转换为指数计数法的最小位数。该参数是 1 ~ 21 之间(且包括 1 和 21)的值。有效实现允许有选择地支持更大或更小的 num。如果省略了该参数,则调用方法 toString(),而不是把数字转换成十进制的值。 |
返回值
返回 NumberObject 的字符串表示,包含 num 个有效数字。如果 num 足够大,能够包括 NumberObject 整数部分的所有数字,那么返回的字符串将采用定点计数法。否则,采用指数计数法,即小数点前有一位数字,小数点后有 num-1 位数字。必要时,该数字会被舍入或用 0 补足。
抛出
当 num 太小或太大时抛出异常 RangeError。1 ~ 21 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
在本例中,我们将把一个数字转换为指数计数法:
Show 10,000 as an exponential notation:
<script type="text/javascript">
var num = new Number(10000);
document.write (num.toPrecision(4))
</script>
输出:
Show 10,000 as an exponential notation:
1.000e+4
valueOf() 方法
定义和用法
valueOf()方法可以字符串返回数字。
字符串的输出通常等于该数字。
valueOf()方法通常由 JavaScript 在后台自动进行调用,而不是显式地处于代码中。
语法
NumberObject.valueOf()
返回值
NumberObject的原始数值。
抛出
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
Number 对象描述
在 JavaScript 中,数字是一种基本的数据类型。JavaScript 还支持 Number 对象,该对象是原始数值的包装对象。在必要时,JavaScript会自动地在原始数据和对象之间转换。在JavaScript 1.1 中,可以用构造函数Number() 明确地创建一个 Number 对象,尽管这样做并没有什么必要。
构造函数 Number() 可以不与运算符 new 一起使用,而直接作为转化函数来使用。以这种方式调用Number() 时,它会把自己的参数转化成一个数字,然后返回转换后的原始数值(或 NaN)。
构造函数通常还用作 5 个有用的数字常量的占位符,这 5 个有用的数字常量分别是可表示的最大数、可表示的最小数、正无穷大、负无穷大和特殊的 NaN 值。 注意,这些值是构造函数 Number() 自身的属性,而不是单独的某个 Number 对象的属性。
比如这样使用属性 MAX_VALUE 是正确的:
var big = Number.MAX_VALUE
但是这样是错误的:
var n= new Number(2);
var big = n.MAX_VALUE
作为比较,我们看一下 toString() 和 Number 对象的其他方法,它们是每个 Number 对象的方法,而不是 Number() 构造函数的方法。前面提到过,在必要时,JavaScript会自动地把原始数值转化成 Number 对象,调用 Number 方法的既可以是 Number 对象,也可以是原始数字值。
var n = 123;
var binary_value = n.toString(2);
转自:http://www.w3school.com.cn/js/jsref_obj_number.asp