parseInt parseFloat isNaN Number 区别和具体的转换规则及用法
<script> console.log(typeof 100);//"number" console.log(typeof 199.99);// "number" console.log(typeof NaN);// "number" console.log(typeof 1 + 1); // "number" console.log(typeof 1 + undefined); // "number" console.log(typeof 1 + null); // "number" console.log(typeof 1 + ""); // "string" </script>
//通过下面的转换我们来寻找规则 //string 字符串 console.log(Number("100")); //100 console.log(Number("100px")); //NaN console.log(Number("p100")); //NaN console.log(Number("p100p")); //NaN console.log(Number("")); //0 console.log(Number("0")); //0 console.log(Number(" ")); //0 //总结只要是纯number字符或者空字符串(""或" ")会转成 0 //boolean 布尔 console.log(Number(true)); //1 console.log(Number(false)); //0 //null undefined console.log(Number(null)); //0 console.log(Number(undefined)); //NaN // 对象 console.log(Number([])); //0 先调用[].toString() 方法得出 "" "" 转换会为0 console.log(Number([1,3,56])); //NaN 先调用[].toString() 方法得出"1,3,56" //NaN 先调用[].toString() 方法得出"[object Object]" console.log(Number({})); console.log(Number({name:"vilin", age:18})); //NaN
//string 字符串 console.log(isNaN("100")); //false console.log(isNaN("100px")); //true console.log(isNaN("p100")); //true console.log(isNaN("px100p")); //true console.log(isNaN("")); //false console.log(isNaN("0")); //false console.log(isNaN(" ")); //false //boolean 布尔型 console.log(isNaN(true)); //false console.log(isNaN(false)); //false //null undefined console.log(isNaN(null)); //false console.log(isNaN(undefined)); //true //对象 console.log(isNaN([])); //false console.log(isNaN([2,3])); //true console.log(isNaN({})); //true console.log(isNaN({name:"vilin",age:19})); //true
console.log(parseInt("100")); //100 console.log(parseInt("100px")); //100 console.log(parseInt("156.444px")); //156 console.log(parseInt("p100")); //NaN console.log(parseInt("p100p")); //NaN console.log(parseInt("")); //NaN console.log(parseInt("0")); //0 console.log(parseInt(" ")); //NaN
console.log(parseFloat("100")); //100 console.log(parseFloat("100px")); //100 console.log(parseFloat("156.444px")); //156.444 console.log(parseFloat("p100")); //NaN console.log(parseFloat("p100p")); //NaN console.log(parseFloat("")); //NaN console.log(parseFloat("0")); //0 console.log(parseFloat(" ")); //NaN
var num = 1300; var num1 = 1456.897; console.log(num.toFixed(2)); //1300.00 console.log(100.toFixed(1)) //报错 无法识别该点的是指的小数点还是... console.log(num1.toFixed(2)); //1456.90