表示数值数据和数字常数,主要用于对数字进行指定格式的输出。
一、属性
JS中Number能表示的最大最小数值
console.log(Number.MAX_VALUE); //1.7976931348623157e+308
console.log(Number.MIN_VALUE); //5e-324
二、所有 JavaScript 数字均为 64 位
- JavaScript 不是类型语言。与许多其他编程语言不同,JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。
- 在JavaScript中,数字不分为整数类型和浮点型类型,所有的数字都是由 浮点型类型。
三、常用方法
- toExponential():将数字转换为指数计数法表示的字符串,并具有指定的小数位数
console.log(123.289.toExponential(2)); //1.23e+2
- toFixed():将数字转换为定点表示法表示的字符串,并具有指定的小数位数
console.log(123.289.toFixed(2)); //123.29
- toString():用 toString() 方法 输出16进制、8进制、2进制。返回字符串类型
var myNumber=128;
myNumber.toString(16); // 返回 80
myNumber.toString(8); // 返回 200
myNumber.toString(2); // 返回 10000000
四、无穷大(Infinity)
- 当数字运算结果超过了JavaScript所能表示的数字上限(溢出),结果为一个特殊的无穷大(infinity)值,在JavaScript中以Infinity表示。同样地,当负数的值超过了JavaScript所能表示的负数范围,结果为负无穷大。
console.log(2/0);//Infinity
console.log(-2/0); //-Infinity
五、NaN - 非数字值
- NaN 属性是代表非数字值的特殊值
- 用于指示某个值不是数字。可以把 Number 对象设置为该值,来指示其不是数字值。
- 可以使用 isNaN() 全局函数来判断一个值是否是 NaN 值。
var x = 1000 / "Apple";
isNaN(x); // 返回 true
var y = 100 / "1000";
isNaN(y); // 返回 false
六、数字可以是数字或者对象
- 数字可以私有数据进行初始化,就像 x = 123;
- JavaScript 数字对象初始化数据, var y = new Number(123);
var x = 123;
var y = new Number(123);
typeof(x) // 返回 Number
typeof(y) // 返回 Object
var x = 123;
var y = new Number(123);
(x === y) // 为 false,因为 x 是一个数字,y 是一个对象
面试题:判断一个变量是不是数值类型
function isNumber(item){
if(typeof item == "number" || item.constructor == Number){
return true;
}
else{
return false;
}
}
var x = 123;
var y = new Number(123);
console.log(isNumber(x)); //true
console.log(isNumber(y)); //true