Number是与数字值对应的引用类型,创建Number对象的语法:
var numberObj = new Number(11);
Number类型重写了valueOf()方法,返回对象表示基本类型的数值,重写toString()和toLocaleString()方法,返回为字符串的形式。
1.进制转换
toString(n)方法轻松解决,n代表要转换的进制.
1 <script> 2 var num = 10;//10进制 3 console.log(num.toString(2));//1010 4 console.log(num.toString(8));//012 5 console.log(num.toString(10));//10 6 console.log(num.toString(16));//000a 7 8 var num = 0123;//8进制,16进制前缀变为“0x” 9 console.log(num.toString(2));//1010011 10 console.log(num.toString(8));//123 11 console.log(num.toString(10));//83 12 console.log(num.toString(16));//0053 13 </script>
2.小数方法
(1)toString(n):0<n<20,数字保留小数位数,n指代要保留的位数;此方法以及以下两种方法都支持保留的小数位符合四舍五入。
1 <script> 2 var num = 10.02401; 3 console.log(num.toFixed(2));//10.02 4 num = 10.02601; 5 console.log(num.toFixed(2));//10.03 6 </script>
(2)toExponential(n):0<n<20,指数表示法输出结果中的小数位数,n指代结果中的小数位。
1 <script> 2 var num = 10.02401; 3 console.log(num.toExponential(3));//1.002e+1 4 </script>
(3)toPrecision(n):1<n<21,自适应以上两种方式中最适合的,根据n的改变而改变。
1 <script> 2 var num = 10.02401; 3 console.log(num.toPrecision(1));//1e+1 4 console.log(num.toPrecision(2));//10 5 console.log(num.toPrecision(3));//10.0 6 </script>
3.Number基本类型与引用类型
1 <script> 2 var numObj = new Number(10); 3 var numVal = 10; 4 console.log(typeof numObj);//object引用类型 5 console.log(typeof numVal);//number基本类型 6 console.log(numObj instanceof Number);//true 7 console.log(numVal instanceof Number);//false 8 </script>
4.NaN非数字值,数字类型
1 <script> 2 var num1 = 10 + "five"; 3 var num2 = 10 + 5; 4 var num3 = "10" + 5; 5 console.log(isNaN(num1));//true,"10five" 6 console.log(isNaN(num2));//false,15 7 console.log(isNaN(num3));//false,"105",此处isNaN自动将字符串"105"处理为数字 8 </script>
5.无穷大
无穷大分为正无穷大(Infinity)和负无穷大(-Infinity),都是数字类型。
1 <script> 2 var num1 = 10/0; 3 var num2 = -10/0; 4 console.log(num1);//Infinity 5 console.log(num2);//-Infinity 6 </script>