学习ES(十二)-- Number对象详解

Number对象代表数字日期,可以是整数,也可以是浮点数。通常,您无需担心Number对象,因为浏览器会自动将数字文字转换为数字类的实例。

创建数字对象的语法:var val = new Number(number);

提供的任何非数字参数,则参数不能转换成,则返回NaN(非数字)。

序号 属性和说明
1 Number.EPSILON

两个可表示数字之间的最小间隔。

2 Number.MAX_SAFE_INTEGER

JavaScript中的最大安全整数(2 ^ 53-1)。

3 Number.MAX_VALUE

可表示的最大正数。

4 MIN_SAFE_INTEGER

JavaScript中的最小安全整数(-(2 ^ 53-1))。

5 Number.MIN_VALUE

可表示的最小正数-即最接近零的正数(实际上不是零)

6 Number.Nan

特殊的“非数字”值

7 Number.NEGATIVE_INFINITY

表示负无穷大的特殊值;溢出返回

8 Number.POSITIVE_INFINITY

表示无穷大的特殊值;溢出返回

9 Number.prototype

表示无穷大的特殊值;溢出返回

var interval = Number.EPSILON
console.log(interval) //输出 2.220446049250313e-16

var interval = Number.MAX_SAFE_INTEGER
console.log(interval) //输出 9007199254740991

var val = Number.MAX_VALUE;
console.log("Value of Number.MAX_VALUE : " + val ); 
//输出  Value of Number.MAX_VALUE : 1.7976931348623157e+308

var val = Number.MIN_SAFE_INTEGER;
console.log("Value of Number. MIN_SAFE_INTEGER: " + val ); 
//输出 Value of Number. MIN_SAFE_INTEGER: -9007199254740991

var val = Number.MAX_VALUE;
console.log("Value of Number.MIN_VALUE : " + val );
//输出 Value of Number.MIN_VALUE : 1.7976931348623157e+308

var dayOfMonth = 50;
if (dayOfMonth < 1 || dayOfMonth > 31) {
   dayOfMonth = Number.NaN
   console.log("Day of Month must be between 1 and 31.") 
} else {
   console.log("day of month "+dayOfMonth)
}
//输出 Day of Month must be between 1 and 31.

var val = Number.NEGATIVE_INFINITY;
console.log("Value of Number.NEGATIVE_INFINITY : " + val );
//输出: Value of Number.NEGATIVE_INFINITY: -Infinity
var val = Number.POSITIVE_INFINITY;
console.log("Value of Number.POSITIVE_INFINITY : " + val );
//输出:Value of Number.POSITIVE_INFINITY : Infinity

Number方法

序号 方法与说明
1 Number.isNaN()

确定传递的值是否为NaN。

2 Number.isFinite()

确定传递的值是否为有限数字。

3 Number.isInteger()

确定传递的值是否为整数。

4 Number.isSafeInterger()

确定传递的值是否为安全整数(-(253-1)和253-1之间的数字)

5 Number.parseFloat()

该值与全局对象的parseFloat()相同

6 Number.parseInt()

该值与全局对象的parseInt()相同

Number实例方法

Number对象仅包含作为每个对象定义的一部分的默认方法。

 

序号 实例方法和描述
1  toExponential()

返回以指数表示形式表示数字的字符串

2 toFixed()

返回以定点表示法表示数字的字符串

3 toLocaleString()

返回具有此数字的语言转化为字符串形式

4  toPrecision()

返回一个字符串,该字符串以定点或指数表示法表示指定精度的数字

5  toString()

返回表示指定基数(基数)中指定对象的字符串

6 valueOf()

返回指定对象的原始值。

//toExponential() number.toExponential( [fractionDigits] ) 
//number.toExponential( [fractionDigits] )
//一个字符串,以指数表示形式表示Number对象,其小数点前有一位数字,四舍五入为小数点后的fractionDigits数字。
//如果省略fractionDigits参数,则小数点后的位数默认为唯一表示该值所必需的位数。
var num1 = 1225.30
var val = num1.toExponential();
console.log(val) //输出1.2253e+
//number.toFixed( [digits] ) digits-小数点后出现的位数。 
//数字的字符串表示形式,不使用指数表示法,并且在小数点后具有确切的位数。
var num3 = 177.234
console.log("num3.toFixed() is "+num3.toFixed()) //177
console.log("num3.toFixed(2) is "+num3.toFixed(2))//177.23
console.log("num3.toFixed(6) is "+num3.toFixed(6))//177.234000
//number.toLocaleString()  将数字转化为字符串
var num = new Number(177.1234);
console.log( num.toLocaleString()); //输出177.1234
//number.toPrecision( [ precision ] ) precision -一个整数,指定有效位数。
//返回一个字符串,该字符串以定点或指数表示形式四舍五入为有效的有效数字。
var num = new Number(7.123456);
console.log(num.toPrecision()); //7.123456
console.log(num.toPrecision(1));//7
console.log(num.toPrecision(2));//7.1
//number.toString( [radix] ) radix -2到36之间的整数,指定用于表示数值的基数。(转为radix进值)
var num = new Number(10);
console.log(num.toString()); //10
console.log(num.toString(2));//1010
console.log(num.toString(8));//12

二进制和八进制文字

在ES6之前,关于整数的二进制或八进制表示,最好的选择是将它们传递给带有基数的parseInt()。在ES6中,可以使用0b和0o前缀分别表示二进制和八进制整数文字。同样,要表示一个十六进制值,请使用0x前缀

前缀可以大写或小写。但是,建议坚持使用小写版本

 

对象文字扩展

ES6在对象常量声明中引入了以下语法更改

  • 对象属性初始化器语法
  • 计算属性语法
  • 简洁的方法语法

对象属性初始化器

对象属性初始化器语法,我们可以直接使用变量初始化对象。这将创建与变量名称相同的属性。

计算属性

计算属性语法中,可以从变量动态创建对象的属性。在下面的示例中,名称后缀的变量用于计算conpany对象。

 

简洁的方法语法中,我们可以直接使用和声明方法,而无需使用function关键字。这是一种简化的语法,可以在对象文字中包含函数。

你可能感兴趣的:(前端相关,js,javascript,es6/es7)