es6值的扩展方法
数字的方法扩展
Number.isFinite()方法检测有限值(有限值)
console . log(number . isFinite(1))//true console . log(number . isFinite(3.1415926))//true console . log(number . isFinite(' 1 '))//false console . log(number . isFinite(NaN))//false console . log(isFinite(' 1 '))//true console . log(isFinite(' 1e ')))//false,前两个示例检测数字,无论是浮点数还是正整数这个方法不会转换数字,所以它是一个无穷大的数,当然NaN也是一个无穷大的数。让我们看看最后两个例子,它们使用了全局方法,检测到的字符串数是有限的。
Number.isNaN()检测一个值是否为NaN
console . log(number . isnan(1))//false console . log(number . isnan(3.1415926))//false console . log(number . isnan(' 1 '))//True console . log(number。isNaN (nan))//trueconsole.log(数字。isnan(' 1e ')//false我们可以理解上面的例子,这个方法是检测值的nan。
Number.parseInt()隐士类型的转换
console . log(number . parsent(1))//1 console . log(number . parsent(3.1415926))//3 console . log(number . parsent(3.6415926))//3 console . log(number。par sent(' 1e S5 ')//1 console . log(数字。parse int(' ASD 123 ')//NanconSole . log(数字。parsent(nan))//nan上面例子的转换是浮点数可以转换成正整数,不会有舍入,如果在字符串中,
Number.parseFloat()类型的转换保留了浮点数
console . log(number . parsefloat(1))//1 console . log(number . parsefloat(3.1415926))//3.1415926 console . log(number . parsefloat(' 1es 5 # '))//1 console . log(number。parseFloat(' # ASD 123 ')//nancon sole . log(number。parseFLOAT (nan))//nan上面写了几个简单的例子。parseFLOAT和parseInt的区别在于保留浮点数
Number.isInteger()检测一个值是否为整数
console . log(number . Isinteger(1))//True console . log(number . Isinteger(3.1415926))//false console . log(number . Isinteger(' 123 '))//false console . log(type of(Math . trunc(' 1.23 ')))//number console . log(number . Isinteger(' 1.23 ')))//false console . log(number . Isinteger(null))//True console . log(number。is integer(3.00000000000000002))//true console . log(数字。parsefloat (array))//nan上面的例子如果是整数则为真,否则为假,不会对字符串类型执行隐士转换。如果它检测到的值小于JavaScript能区分的最小值,就会出现误判,而且目前对二进制位数也有要求,否则就会出现误判
数学对象的扩展
Math.trunc()删除了浮点数的小数部分,返回整数相当于转换,但没有四舍五入
console . log(Math . trunc(1.8))//1 console . log(Math . trunc(3.1415926))//3 console . log(Math . trunc(' 3.1415926 '))//3 console . log(Math . trunc(' 1.23 ')//1 console . log(Math . trunc(' 1.23 # '))//NaN console . log(Math . trunc(' 1.23 ')))//NaN console . log(Math . trunc())//3我们可以看到,它可以从字符串数字转换成数字,我们还可以通过检测其类型来获得数字类型。如果数字字符包含其他字符或为空,则表示为NaN。
Math.sign()用于确定一个数字是正数、负数还是零。对于非数值,首先将其转换为数值
console . log(math . sign(1.8))console . log(math . sign(3.1415926))console . log(math . sign(' 3.1415926 ')console . log(math . sign(' 1.23 # ')console . log(math . sign(' 1.23 '))console . log(math . sign(-0))console . log(math . sign(-2))在上面的例子中,您可能想知道为什么整数和负数都是1 || -1,因为正数
Math.cbrt()计算立方根
console . log(math . cbrt(4))//1.5874010519681996 console . log(math . cbrt(' 4 '))//1.5874010519681996 console . log(math . cbrt(' 2q '))//nanconsole . log(math。CBRT(' Q2 ')//nanconsole . log(数学)。CBRT(' 16 ')//2.5198420997897464上面的例子也说明了,除了数学的新方法之外,它还先转换数,然后再计算。如果它不是一串纯数字,
数学。电位()返回参数内的平方和,可以是任意数量的参数
console.log(Math.hypot(4,4))//5.656854249492381 console . log(math . hypot(' 4 ',4,3))//6.4031242374328485 console . log(math . hypot(' 2q ',4)//nanconsole.log (math。潜力(' q2 ',4))//nanconsole.log(数学)。势(' 16 ',4))//16.49242502470642上面的方法也会先进行数值转换,如果有一个参数无法转换,则返回NaN。
对数方法
Math.log1p()返回1参数的自然数,如果小于-1,则返回NaN
console . log(math . log1p(1))//0.6931471805599453也相当于0 console . log(math . log1p(-1))///-infinityconsole . log(math . log1p(-2))//nanconsole . log(math . log1p('-1 ')//-infinityconsole . log(math . log1p('-2q '))))//nanmath . log10()根据10返回x的对数,如果
console . log(math . log 10(10))//1 console . log(math . log 10(5))//0.6989700043360189 console . log(math . log 10(20))//1.3010299956639813 console . log(math . log 10(2000))//3.30102995639813 math . log 2()返回以x为底的对数,并
console . log(math . log 10(10))//3.321928094887362 console . log(math . log 10(5))//2.321928094887362 console . log(math . log 10(20))//4.321928094887363 console . log(math . log 10(2000))//10 . 322199999994
总结:基本上,数值的扩展是针对数值类型的一些新方法的使用。一般公式比较复杂,我们可以根据方法得到的结果找到规律,这样我们就可以利用它,学到更多
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。