JS数字
JS数值始终是64位的浮点数。
整数会被精确到15位。
数字和字符串相加:
var x = 10; var y = "20"; var z = x + y; // z 将是 1020(一个字符串)
数字字符串:
JS字符串是数字内容的话,在数字运算中,会尝试将字符串转换为数字:
var x = "100"; var y = "10"; var z = x / y; // z 将是 10
乘除减法运算都会如此运行。
NaN:非数值。
- isNaN():确定某个值是否是数;
- NaN是数,typeof NaN 返回 number。
Infinity:超出范围返回的值。
- 除以0也会生成infinity;
- Infinity是数,typeOf Infinity 返回 number。
十六进制:0x。JS数值默认为十进制,使用toString(16)可以把数输出为十六进制。
数值方法
- toExponential():返回字符串值。包含已被四舍五入并使用指数计数法的数字。
- toFixed():返回字符串值。包含了指定位数小数的数字。
- toPrecision():返回字符串值,包含了指定长度的数字。
var x=9.656 x.toFixed(2); // 返回 9.66 x.toExponential(2); // 返回 9.66e+0 x.toPrecision(2); // 返回9.7
valueOf():返回数值。
var x = 123; x.valueOf(); // 从变量 x 返回 123 (123).valueOf(); // 从文本 123 返回 123 (100 + 23).valueOf(); // 从表达式 100 + 23 返回 123
把变量转为数值:
- Number() 方法:返回数字,尤其参数转换而来。若无法转换为数字,返回NaN。
- parseInt() 方法:解析其参数并返回整数。允许空格,只返回首个数字。
- parseFloat() 方法:解析其参数并返回浮点数。
Number(new Date("2019-04-15")); // 返回 1506729600000 parseInt("10 years"); // 返回 10 parseFloat("years 10"); // 返回 NaN