最快掌握JavaScript的Number对象
这篇博客主要和大家分享一下JavaScript中Number对象。
一、Number对象
JavaScript中只有一种数字类型,包含整数型和浮点小数型。如下:
1.数字的声明
varnum=1; varnum2=newNumber(10); console.log(num,num2); console.log(typeofnum,typeofnum2); varnum3=newNumber("a"); console.log(num3);//NaNvarnum4=NaN; varnum5=NaN; console.log(num4==num5);//false
整数或小数。
varnum=10;//整数varnum2=3.1415;//小数
极大或极小的数可以通过科学计数法表示(e代表10的多少次幂):
varnum=12e5;//1200000varnum2=12e-5;//0.00012
精度
整数(不使用小数点或指数计数法)最多为 15 位。:
varnum=999999999999999;// num 为 999999999999999varnum2=9999999999999999;// num2 为 10000000000000000
小数的最大位数是 17,但是浮点运算并不总是 100% 准确:
console.log(01.+03.);//0.30000000000000004
八进制和十六进制
如果前缀为 0,则 JavaScript 会把数值常量解释为八进制数,如果前缀为 0 和 “x”,则解释为十六进制数。
varnum=0377;// 转换为十进制 255varnum2=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 返回falseconsole.log(Number.isFinite(1));//trueconsole.log(Number.isFinite(Number.POSITIVE_INFINITY));//false// toExponential() 把对象的值转换为指数计数法。 科学计数法varnum=100; console.log(num.toExponential());//1e+2varnum6=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进制。
varmyNumber=128; myNumber.toString(16); // 返回 80myNumber.toString(8); // 返回 200myNumber.toString(2); // 返回 10000000