🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
~~~ /* * parseInt / parseFloat:也是把其它数据类型转换为number类型的 * 处理原理和Number不一样,他们是把字符串转换为数字类型(如果处理的值不是字符串,需要先转换为字符串然后在去转换为number类型的) * =>从字符串最左边开始查找,把找到的有效数字字符转换为数字,一直遇到一个非有效数字字符为止,则结束查找 */ console.log(Number('12px')); //=>NaN console.log(parseInt('12px')); //=>12 console.log(parseInt('12px24')); //=>12 console.log(parseInt('width:12px')); //=>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 console.log(isNaN(Number(parseInt("0.8")))); //=>parseInt("0.8")->0 Number(0)->0 isNaN(0)->false console.log(Number('')); //=>0 console.log(parseInt('')); //=>NaN ~~~ #### number数据类型 * NaN 和 isNaN * 把其它数据类型转换为数字类型 * Number * parseInt * parseFloat * ————— * ==比较 * 数学运算 * isNaN * …… ~~~ // 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(9007199254740992), BigInt(9007199254740993)); /* * 基本数据类型 * number string boolean null undefined symbol => BigInt新增的基本数据类型 */ ~~~ ![](https://img.kancloud.cn/47/c0/47c03cb1b3be08d2cd5db74823c93726_366x557.png) console.log(BigInt(9007199254740992), BigInt(9007199254740993)); ![](https://img.kancloud.cn/f6/d9/f6d9b6182306a55e6129b8a6c050bac4_388x112.png)