1.es5中全局函数有哪些?
答:isNaN函数,isFinite函数,parseInt函数,parseFloat函数等,原先呢这些函数都是属于window对象下的全局函数,在es6的标准中将他们移在了Number对象下。所以在使用之前必须指明是在number对象下,否则会被认为是window下的。
那么,为什么好端端的在window对象下的函数要移植到number对象下呢。这样做的目的是慢慢减少全局性的函数,把全局函数合理规划到其他对象下面,渐渐实现语言的模块化。
2.Number.isNaN()函数
Number.isNaN函数。用于判断一个传入的参数是不是非数值。number对象下的函数和window对象下的函数是有区别的。在number对象下,如果传入的参数不是一个数值类型的话就直接返回false,而不是像window对象下那样先转为数值类型再判断,这是需要值得注意的地方。
window.isNaN('abc')
true
window.isNaN(0.2)
false
Number.isNaN('a')
false
Number.isNaN(10)
false
Number.isNaN(NaN)
true
只有传入的参数为NaN的时候,才会为true,其他时候都为false
window.isNaN
比如说abc,abc是不是一个非数值。是的,他是一个非数值,所以返回true。2.5是不是一个非数值类型呢。不是,他是数值类型所以返回false。
在window对象下的isNaN函数中,会将传入的参数转化成数值类型在进行判断,而abc转化成数值类型是NaN,所以返回的是true。
3.Number.isFinite
用来判断一个数值是否非无穷。注意是判断非无穷,不是判断无穷。
个人理解为判断一个数是否是用穷的。需要注意的是,Number.isFinite只对数值类型有效,当传入的参数为非数值类型的时候返回为false。
Number.isFinite(2.3)
true //2.3是有穷的吗 是的他是有穷的
Number.isFinite('a')
false
Number.isFinite(Infinity)
false
4.Number.parseInt
解析一个字符串,返回一个整数。和在window对象的作用一样。
5.Number.parseFloat
解析一个字符串,返回一个小数。和在window对象的作用一样。
6.Number.isInteger
用来判断是否是整数。需要注意的是,在javascript中,对整数和浮点数采用一样的存储方式,因此小数点后如果都是0的浮点数,都会被认为是整数。
Number.isInteger(3.2)
false
Number.isInteger('A')
false
Number.isInteger(3)
true
Number.isInteger(3.0000)
true
7.Number.EPSILON
极小常量。定义一个极小的数值。
console.log(Number.EPSILON)
2.220446049250313e-16
Number.EPSILON的出现是用来判断浮点数的计算误差,如果浮点数计算得到的误差不超过Number.EPSILON的值,就表示可以接受这样的误差。
8.安全整数
es6引入了安全整数的概念。原来在js能够准确表示的整数范围在-2^53到2^53之间。超过这个范围,无法精确表示这个值。故称为不安全。
判断一个数值安不安全用Number.isSafeInteger来判断
Number.MAX_SAFE_INTEGER
9007199254740991
es6为Math对象增加的扩展
1.Math.trunc
用于去除一个数的小数部分,返回整数部分。
Math.trunc(2.65)
2
Math.trunc('a')
NaN
Math.trunc('2.6a')
NaN
2.Math.sign
用来判断一个数到底是正数,负数还是零
Math.sign(10)
1
Math.sign(0)
0
Math.sign(-10)
-1
3.Math.cbrt
用于计算一个数的立方根。
Math.cbrt(27)
3
通过学习我们了解了Number和Math对象下的几个函数,分别是:1.Number对象下的:isNaN函数,isFinite函数,parseInt函数,parseFloat函数,isInteger函数,EPSILON极小常量,MAX_SAFE_INTEGER安全整数,可以通过Number.isSafeInteger函数来判断一个数值是否安全。 2.Math对象下的:Math.trun函数(除去小数部分返回整数部分)、Math.sign函数(判断一个数值是否是正数、负数还是0)、Math.cbrt函数(计算一个数的立方根)。
最后附上一句自己很喜欢的话:兴趣遍地都是,专注和持之以恒才是真正稀缺的。