parseInt / parseFloat: 也是把其他数据类型转换为number类型的
处理原理和Number不一样,他们是把字符串转为数字类型(如果处理的值不是字符串,需要先转换为字符串然后在去转换 为number类型的)
=> 从字符串最左边开始查找,把找到的有效数字字符转换为数字,一直遇到一个非有效数字字符为止,则结束查找
console.log(parseInt('12px')); // => 12
console.log(parseInt('12px24')); // =>12
console.log(parseInt('width: 24px')); // => NaN
console.log(parseInt('12.5px')); // =>12
console.log(parseFloat('12.5px')); // => 12.5 parseFloat比parseInt 多识别一个小数点
console.log(Number(true)); // => 1
console.log(parseInt(true)); // => 先把true转为字符串“true” parseInt('true'); => NaN
console.log(parseInt(NaN)); // => NaN
console.log(Number(null)); // => 0
console.log(parseInt(null)); // => parseInt('null') => NaN
isNaN(Number(parseInt('0.8'))); // => parseInt('0.8') => 0 Number(0) => 0 isNaN(0) => false
console.log(Number('')); // => 0
console.log(parseInt('')); // => NaN
toFixed: 保留小数点后面N位(最后的结果是一个字符串)
let n = 3.1415926;
console.log(n.toFixed(2)); // => 3.14
console.log(Number.MAX_SAFE_INTEGER); // => 9007199254740991 最大安全数(js能够有效识别的最大整数)
console.log(9007199254740992 == 9007199254740993) // => true 应该值不一样,但是超过最大值js无法精准计算
es6中提供了一个新的数据类型 BigInt: 管理超过安全数值的数字
console.log(BigInt(9007199254740991),BigInt(9007199254740993));
基本数据类型
number string boolean null undefined symbol => BigInt 新增的基本数据类型