ES6在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个方法,用来检查Infinite和NaN这两个特殊值。

Number.isFinite()用来检查一个数值是否非无穷(infinity)。

Number.isFinite(15); // true
Number.isFinite(0.8); // true
Number.isFinite(NaN); // false
Number.isFinite(Infinity); // false
Number.isFinite(-Infinity); // false
Number.isFinite("foo"); // false
Number.isFinite("15"); // false
Number.isFinite(true); // false

Number.isNaN()用来检查一个值是否为NaN。

Number.isNaN(NaN); // true
Number.isNaN(15); // false
Number.isNaN("15"); // false
Number.isNaN(true); // false

  

Number.isInteger()用来判断一个值是否为整数。需要注意的是,在JavaScript内部,整数和浮点数是同样的储存方法,所以3和3.0被视为同一个值。

Number.isInteger(25) // true
Number.isInteger(25.0) // true
Number.isInteger(25.1) // false
Number.isInteger("15") // false
Number.isInteger(true) // false

  

Math对象新增的方法,都是静态方法,只能在Math对象上调用。

Math.trunc():去除一个数的小数部分,返回整数部分。

Math.trunc(4.1) //
Math.trunc(-4.1) // -4

注意:对于空值和无法截取整数的值,返回NaN。

Math.sign():判断一个数到底是正数、负数、还是零。

返回五种值:参数为正数,返回+1;参数为负数,返回-1;参数为0,返回0;参数为-0,返回-0;其他值,返回NaN。

Math.sign(-5) // -1
Math.sign(5) // +1
Math.sign(0) // +0
Math.sign(-0) // -0
Math.sign('hubwiz'); // NaN

 Math.cbrt():计算一个数的立方根。

Math.cbrt(-); // -1
Math.cbrt(); //
Math.cbrt(); // 1.2599210498948732

Math.fround():返回一个数的单精度浮点数形式。

Math.fround();     //
Math.fround(1.337); // 1.3370000123977661
Math.fround(NaN); // NaN

Math.hypot():返回所有参数的平方和的平方根。

Math.hypot(, );        //
Math.hypot(, , ); // 7.0710678118654755
Math.hypot(); //
Math.hypot(NaN); // NaN
Math.hypot(, , 'foo'); // NaN
Math.hypot(, , ''); // 7.0710678118654755
Math.hypot(-); //

如果参数不是数值,Math.hypot方法会将其转为数值。只要有一个参数无法转为数值,就会返回NaN。

Math 对数方法

Math.expm1(x):返回ex - 1。

Math.expm1(-); // -0.6321205588285577
Math.expm1(); //
Math.expm1(); // 1.718281828459045

Math.log1p(x):返回1 + x的自然对数。如果x小于-1,返回NaN。

Math.log1p();  // 0.6931471805599453
Math.log1p(); //
Math.log1p(-); // -Infinity
Math.log1p(-); // NaN

Math.log10(x):返回以10为底的x的对数。如果x小于0,则返回NaN。

Math.log10();      // 0.3010299956639812
Math.log10(); //
Math.log10(); // -Infinity
Math.log10(-); // NaN
Math.log10(); //

Math.log2(x):返回以2为底的x的对数。如果x小于0,则返回NaN。

Math.log2();    // 1.584962500721156
Math.log2(); //
Math.log2(); //
Math.log2(); // -Infinity
Math.log2(-); // NaN
Math.log2(); //

三角函数方法

  • Math.sinh(x) 返回x的双曲正弦(hyperbolic sine)
  • Math.cosh(x) 返回x的双曲余弦(hyperbolic cosine)
  • Math.tanh(x) 返回x的双曲正切(hyperbolic tangent)
  • Math.asinh(x) 返回x的反双曲正弦(inverse hyperbolic sine)
  • Math.acosh(x) 返回x的反双曲余弦(inverse hyperbolic cosine)
  • Math.atanh(x) 返回x的反双曲正切(inverse hyperbolic tangent)

es6 Number.isFinite()、Number.isNaN()、Number.isInteger()、Math.trunc()、Math.sign()、Math.cbrt()、Math.fround()、Math.hypot()、Math 对数方法的更多相关文章

  1. es6基础系列二:Number

    es6中关于Number类型的变化,主要有以下几点 Number.isInteger(新增,判断是否为整数) Number.EPSILON(新增,判断是否可忽略的误差) Number.MAX_SAFE ...

  2. 检查一个数值是否为有限的Number.isFinite()

    如果参数类型不是数值,Number.isFinite()一律返回false. Number.isFinite(15); // true Number.isFinite(0.8); // true Nu ...

  3. parseInt parseFloat isNaN Number 区别和具体的转换规则及用法

    原文链接:https://blog.csdn.net/wulove52/article/details/84953998 在javascript 我经常用到,parseInt.parseFloat.N ...

  4. 2017青岛网络赛1011 A Cubic number and A Cubic Number

    A Cubic number and A Cubic Number Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 65535/3276 ...

  5. [Javascript] Use Number() to convert to Number if possilbe

    Use map() and Number() to convert to number if possilbe or NaN. var str = ["1","1.23& ...

  6. Ugly Number,Ugly Number II,Super Ugly Number

    一.Ugly Number Write a program to check whether a given number is an ugly number. Ugly numbers are po ...

  7. leetcode 263. Ugly Number 、264. Ugly Number II 、313. Super Ugly Number 、204. Count Primes

    263. Ugly Number 注意:1.小于等于0都不属于丑数 2.while循环的判断不是num >= 0, 而是能被2 .3.5整除,即能被整除才去除这些数 class Solution ...

  8. leetcode 136. Single Number 、 137. Single Number II 、 260. Single Number III(剑指offer40 数组中只出现一次的数字)

    136. Single Number 除了一个数字,其他数字都出现了两遍. 用亦或解决,亦或的特点:1.相同的数结果为0,不同的数结果为1 2.与自己亦或为0,与0亦或为原来的数 class Solu ...

  9. java.sql.SQLException: Io 异常: Invalid number format for port number

    java.sql.SQLException: Io 异常: Invalid number format for port number   jdbc数据库链接配置没有写端口号 ​ 要检查jdbc的配置 ...

随机推荐

  1. HTML5一些特殊效果分享地址集合

    页面预加载图片原生js: http://www.cnblogs.com/st-leslie/articles/5274568.html HTML5 FileReader读取本地文件: http://n ...

  2. MySQL_8.0.15_Windows10_X64 安装教程

    最近学习的内容涉及到MySQL的知识,所以安装一个MySQL非常有必要,参考别人的教程安装过程还算顺利,其中遇到了一些问题查了一些也解决了,这里把整个安装过程梳理一遍,给大家一个参考. 我手里的电脑是 ...

  3. Python语言程序设计之一--for循环中累加变量是否要清零

    最近学到了Pyhton中循环这一章.之前也断断续续学过,但都只是到了函数这一章就停下来了,写过的代码虽然保存了下来,但是当时的思路和总结都没有记录下来,很可惜.这次我开通了博客,就是要把这些珍贵的学习 ...

  4. w3resource_MySQL练习:Basic_select_statement

    w3resource_MySQL练习题:Basic_select_statement 1. Write a query to display the names (first_name, last_n ...

  5. JAVA基础篇—模拟服务器与客户端通信

    第一种: 客户端class Client package 服务器发送到客户端; import java.io.BufferedReader; import java.io.InputStreamRea ...

  6. 系统测试过程截获SQL方法

    1      摘要 测试过程中,经常会遇到莫名的各种问题,可能从开发同学的日志无法发现具体出现问题的原因,本着测试同学深入分析.定位问题的目的,经常需要一些额外的手段获得更多的错误异常信息. 我们涉及 ...

  7. ReportViewer部分使用总结

    最近winform上使用ReportViewer做报表,因为之前没弄过,所以遇到了很多问题,现在总结一下. 一.运行环境 .net环境:4.0 开发工具:vs2010 二.开发步骤 第一步,在winf ...

  8. Python之code对象与pyc文件(三)

    上一节:Python之code对象与pyc文件(二) 向pyc写入字符串 在了解Python如何将字符串写入到pyc文件的机制之前,我们先来了解一下结构体WFILE: marshal.c typede ...

  9. Python学习-day9 线程

    这节内容主要是关于线程的学习 首先要了解的什么是进程,什么是线程 进程与线程 什么是进程(process)? 程序并不能单独运行,只有将程序装载到内存中,系统为它分配资源才能运行,而这种执行的程序就称 ...

  10. 第二章 jquery的dom操作

    三个方面    dom核心,html-dom和css-dom 一. 1.dom core核心 document.getElementsByTagName("form")  获取表单 ...