最快掌握JavaScript的Number对象
这篇博客主要和大家分享一下JavaScript中Number对象。
一、Number对象
JavaScript中只有一种数字类型,包含整数型和浮点小数型。如下:
1.数字的声明
var num=1;
var num2=new Number(10);
console.log(num,num2);
console.log(typeof num,typeof num2);
var num3=new Number("a");
console.log(num3);//NaN
var num4=NaN;
var num5=NaN;
console.log(num4==num5);//false
整数或小数。
var num=10;//整数
var num2=3.1415;//小数
极大或极小的数可以通过科学计数法表示(e代表10的多少次幂):
var num=12e5;//1200000
var num2=12e-5;//0.00012
精度
整数(不使用小数点或指数计数法)最多为 15 位。:
var num=999999999999999;// num 为 999999999999999
var num2=9999999999999999;// num2 为 10000000000000000
小数的最大位数是 17,但是浮点运算并不总是 100% 准确:
console.log(01.+03.);//0.30000000000000004
八进制和十六进制
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 “x”,则解释为十六进制数。
var num = 0377;// 转换为十进制 255
var num2 = 0xFF;// 转换为十进制 255
2.Number对象的属性
// constructor 返回对创建此对象的 Number 函数的引用。
// prototype 可以向对象添加属性和方法。
// MAX_VALUE 可表示的最大的数。
console.log(Number.MAX_VALUE);//1.7976931348623157e+308
// MIN_VALUE 可表示的最小的数。
console.log(Number.MIN_VALUE);//5e-324
// NEGATIVE_INFINITY 负无穷大,溢出时返回该值。
console.log(Number.NEGATIVE_INFINITY);
// POSITIVE_INFINITY 正无穷大,溢出时返回该值。
console.log(Number.POSITIVE_INFINITY);
// NaN 非数字值。 不是一个数字
3.Number对象的方法
// Number对象的方法
// isFinite 检测指定参数是否为无穷大。 正负无穷 NaN 返回false
console.log(Number.isFinite(1));//true
console.log(Number.isFinite(Number.POSITIVE_INFINITY));//false
// toExponential() 把对象的值转换为指数计数法。 科学计数法
var num=100;
console.log(num.toExponential());//1e+2
var num6=10.123456789;
// toFixed(x) 把数字转换为字符串,结果的小数点后有指定位数的数字。
console.log(num6.toFixed(1));
// subString(indexOf(".")+3);
// toPrecision(x) 把数字格式化为指定的长度。
console.log(num6.toPrecision(2));
// toString() 把数字转换为字符串,使用指定的基数。
console.log(num6.toString());
// valueOf() 返回一个 Number 对象的基本数字值。
console.log(num6.valueOf());
4.ES6新增的属性和方法
// EPSILON: 表示 1 和 比最接近 1 且大于 1 的最小 Number 之间的差别
console.log(Number.EPSILON);
// MIN_SAFE_INTEGER: 表示在 JavaScript中最小的安全的 integer 型数字 (-(2的53次方 - 1))。
console.log(Number.MIN_SAFE_INTEGER);// -9007199254740991
// MAX_SAFE_INTEGER: 表示在 JavaScript 中最大的安全整数(2的53次方 - 1)。
console.log(Number.MAX_SAFE_INTEGER);// 9007199254740991
// Number.isInteger(): 用来判断给定的参数是否为整数。
console.log(Number.isInteger(13.0));
console.log(Number.isInteger(13.5));
// Number.isSafeInteger(): 判断传入的参数值是否是一个"安全整数"。
console.log(Number.isSafeInteger(9007199254740992));
5.需要注意
isFinite() 方法用于判断number对象是否可以转换成一个有限的数字。所以只有当对象为正负无穷 或 NaN 时返回false。
toString() 方法用于将数字转换为字符串,但是可以加参数,将数字输出为2进制。8进制,16进制。
var myNumber=128;
myNumber.toString(16); // 返回 80
myNumber.toString(8); // 返回 200
myNumber.toString(2); // 返回 10000000
视频讲解链接:
https://www.bilibili.com/video/BV1NT4y1g775/