一、number 对象(数字对象)
1. 当数字字符串在进行数字运算 ( -、*、/ ) 时,字符串会转换成数字参加运算。
var x = "100", y = "10";
var z = x / y; // z 将是 10
var z = x * y; // z 将是 1000
var z = x - y; // z 将是 90
var z = x + y; // z 是 10010
总结: 数字字符串进行“+”运算时,表示级联;进行“ - * / ”运算时,会转换成数字,进行算术运算。
2. NaN 非数值
var x = 100 / "Apple"; // x 将是 NaN
isNaN(x); // 返回 true,因为 x 不是数
var x = NaN, y = 5;
var z = x + y; // z 将是 NaN
var x = NaN, y = "5";
var z = x + y; // z 将是 NaN5
总结:
- NaN 是数,typeof NaN 返回 number;
- 使用函数 isNaN() 来判断某个值是不是数字;
- 假如在数学运算中使用了 NaN,则结果也将是 NaN。
3. Infinity
var x = 2 / 0; // x 将是 Infinity
var y = -2 / 0; // y 将是 -Infinity
注意: Infinity 是数,typeOf Infinity 返回 number。
4. 使用 toString() 方法转换成进制字符串
var myNumber = 128;
myNumber.toString(16); // 转换成 16进制字符串,返回 80
myNumber.toString(8); // 转换成 8进制字符串,返回 200
myNumber.toString(2); // 转换成 2进制字符串,返回 10000000
myNumber.toString(); // 转换成字符串,返回 128
5. 使用 toFixed() 方法转换成固定小数部分位数的小数字符串
var x = 9.656;
x.toFixed(0); // 返回 10
x.toFixed(2); // 返回 9.66
x.toFixed(4); // 返回 9.6560
x.