存储位置 js所有数值用64位比特位存储52位值 11位指数 1位符号 写法 var x = 123;//整数 var y = 012;//8进制写法 var z = 0x12;//16进制写法 var q = 12e3;//科学计数法 var w = 123.4;//浮点数 es6新增 0b开头表示2进制0o开头表示八进制 精度问题 其它语言导致的问题可以用Number.EPSILON 控制 var x = 0.2+0.1; // 输出结果为 0.30000000000000004 x - 0.3 <= Number.EPSILON; //true 进制转换 toString 可以转换2-自身的任意进制 的字符串格式数字 var a = 123; a.toString(3); //11120 三进制 a.toString(2); //1111011 二进制 a.toString(124); // 报错 转换 Number.protptype.toFixed(size) 保留小数位数Number.protptype.toPrecision(指数) 保留指定精度 返回字符串 指数格式Number.protptype.toExponential() 返回一个数字的指数形式的字符串,如:1.23e+2Number.parseFloat(number) 转换浮点数Number.parseInt(number) 转换整数 无穷值 Infinity 无穷Number.NEGATIVE_INFINITY 负无穷Number.POSITIVE_INFINITY 正无穷 安全整数 js中整数的范围在2e-53~2e53(不含两端)内精度是可控的Number.MAX_SAFE_INTEGER 上限Number.MIN_SAFE_INTEGER 下限Number.isSafeInteger() 判断一个数是否是安全整数 判断运算结果最好加上这个 NaN NaN 不是一个数字NaN 不等于任何数 包括NaN判断是不是一个数字需要用isNaN() NaN==NaN//false 一些常用方法 Number.isFinite() 是否是一个有限数字Number.isInteger() 是否整数Number.isNaN() 是否不是一个数字Number.isSafeInteger() 是否是安全整数