zoukankan      html  css  js  c++  java
  • 字符串的正则方法 数值的扩展

    字符串对象共有4个方法,可以使用正则表达式:match() replace() search()和split()

    regExp.test(string)

    在string中找到匹配regExp的字符串则返回true,没有找到匹配regExp的字符串则返回false

    数值的扩展

    ES6在Number对象上,新提供了Number.isFinite()和Number.isNaN()两个方法;

    Number.isfinite()用来检测一个数值是否为有限的。

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

    Number.parseInt() 和Number.parseFloat

    ES6将全局方法parseInt()和parseFloat(),移动到Number对象上面,行为完全保持不变。这样做的目的,是逐步减少全局性方法,使得语言逐步模块化

    Number.isInteger()

    Number.isInteger()用来判断一个值是否为整数。在javascript内部,整数和浮点数是同样的存储方法。

    误差检测函数

    Number.EPSILON

    ES6在Number对象上面,新增一个极小的常量Number.ESPILON.

    引入一个极小的量的目的,在于为浮点数计算,设置一个误差范围。我们知道浮点数的计算是不精确的。

    但是这个误差能够小于Number.EPSILON,我们就可以认为得到了正确结果。

    因此,Number.EPSILON的实质是一个可以接受的误差范围。

    安全整数和Number.isSafeInteger()

    JavaScript能够准确表示的整数范围在-2^532^53之间(不含两个端点),超过这个范围,无法精确表示这个值。

    Math.pow(2, 53) // 9007199254740992
    
    9007199254740992  // 9007199254740992
    9007199254740993  // 9007199254740992
    
    Math.pow(2, 53) === Math.pow(2, 53) + 1
    // true

    上面代码中,超出2的53次方之后,一个数就不精确了。

    ES6引入了Number.MAX_SAFE_INTEGERNumber.MIN_SAFE_INTEGER这两个常量,用来表示这个范围的上下限。

    Number.MAX_SAFE_INTEGER === Math.pow(2, 53) - 1
    // true
    Number.MAX_SAFE_INTEGER === 9007199254740991
    // true
    
    Number.MIN_SAFE_INTEGER === -Number.MAX_SAFE_INTEGER
    // true
    Number.MIN_SAFE_INTEGER === -9007199254740991
    // true

    上面代码中,可以看到JavaScript能够精确表示的极限。

    Number.isSafeInteger()则是用来判断一个整数是否落在这个范围之内。

    指数运算符 

    ES2016 新增了一个指数运算符(**)。

    2 ** 2 // 4
    2 ** 3 // 8

    指数运算符可以与等号结合,形成一个新的赋值运算符(**=)。

    let a = 1.5;
    a **= 2;
    // 等同于 a = a * a;
    
    let b = 4;
    b **= 3;
    // 等同于 b = b * b * b;

    注意,在 V8 引擎中,指数运算符与Math.pow的实现不相同,对于特别大的运算结果,两者会有细微的差异。

    Math.pow(99, 99)
    // 3.697296376497263e+197
    
    99 ** 99
    // 3.697296376497268e+197

    上面代码中,两个运算结果的最后一位有效数字是有差异的。

  • 相关阅读:
    codeforces
    hdu
    hdu
    poj 2823
    hdu
    hdu
    hdu
    微信公众号 SDK
    PHP 正则表达式
    注册和登录时的验证码
  • 原文地址:https://www.cnblogs.com/xiaofenguo/p/6963508.html
Copyright © 2011-2022 走看看